Dodawanie węzłów ZooKeeper

Ten dokument opisuje, jak dodać 3 nowe węzły ZooKeeper do istniejącej instalacji Edge dla chmury prywatnej.

Do istniejącej instalacji Edge możesz dodać 1 lub 2 węzły ZooKeeper, ale musisz zadbać o to, aby zawsze mieć nieparzystą liczbę węzłów głosujących ZooKeeper, jak opisano poniżej.

Istniejąca konfiguracja Edge

Wszystkie obsługiwane topologie Edge dla systemu produkcyjnego określają użycie 3 węzłów ZooKeeper. Te 3 węzły są określone we właściwościach ZK_HOSTS i ZK_CLIENT_HOSTS w pliku konfiguracji, jak pokazano poniżej:

IP1=10.10.0.1
IP2=10.10.0.2
IP3=10.10.0.3
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
MSIP=$IP1 
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=1
APIGEE_LDAPPW=secret
MP_POD=gateway
REGION=dc-1
ZK_HOSTS="$IP1 $IP2 $IP3"
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1"
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com
SMTPPASSWORD=smtppwd

Gdzie:

  • ZK_HOSTS określa adresy IP lub nazwy DNS węzłów ZooKeeper. Adresy IP lub nazwy DNS muszą być wymienione w tej samej kolejności we wszystkich węzłach ZooKeeper. W środowisku z wieloma centrami danych podaj wszystkie węzły ZooKeeper z obu centrów danych.
  • ZK_CLIENT_HOSTS określa adresy IP lub nazwy DNS węzłów ZooKeeper używanych przez to centrum danych. Adresy IP lub nazwy DNS muszą być wymienione w tej samej kolejności we wszystkich węzłach ZooKeeper.

    W przypadku instalacji w jednym centrum danych są to te same węzły, które są określone przez ZK_HOSTS. W środowisku z wieloma centrami danych podaj tylko węzły ZooKeeper w tym centrum danych.

modyfikowanie pliku konfiguracji w celu dodania 3 nowych węzłów ZooKeeper,

W tym przykładzie 3 nowe węzły ZooKeeper mają te adresy IP:

  • 10.10.0.14
  • 10.10.0.15
  • 10.10.0.16

Najpierw musisz zaktualizować plik konfiguracji Edge, aby dodać nowe węzły:

IP1=10.10.0.1
IP2=10.10.0.2
IP3=10.10.0.3
# Add the new node IP addresses.
IP14=10.10.0.14
IP15=10.10.0.15
IP16=10.10.0.16
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@google.com
...
# Update ZK_HOSTS to add each new node after an existing nodes.
ZK_HOSTS="$IP1 $IP2 $IP3 $IP14 $IP15 $IP16:observer"
# Update ZK_Client_HOSTS to add each new node after an existing nodes.
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3 $IP14 $IP15 $IP16"

Oznacz ostatni węzeł w ZK_HOSTS modyfikatorem :observer. Węzły bez modyfikatora :observer są nazywane „głosującymi”. W konfiguracji musi być nieparzysta liczba „głosujących”. Dlatego w tej konfiguracji masz 5 głosujących ZooKeeper i 1 obserwatora.

Pamiętaj, aby dodać węzły do ZK_HOSTS i ZK_CLIENT_HOSTS w tej samej kolejności. Podczas ustawiania ZK_CLIENT_HOSTS pomiń jednak modyfikator :observer.

Konfigurowanie Edge

Po zmodyfikowaniu pliku konfiguracji musisz wykonać wszystkie te czynności.

Instalowanie ZooKeepera na nowych węzłach

  1. Zainstaluj apigee-setup w pierwszym węźle zgodnie z opisem w artykule Instalowanie narzędzia apigee-setup w Edge.
  2. Zainstaluj ZooKeeper na pierwszym węźle, używając tych poleceń:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper install
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updatedConfigFile
  3. Powtórz kroki 1 i 2 w przypadku pozostałych nowych węzłów ZooKeeper.

Ponownie skonfiguruj istniejące węzły ZooKeeper.

Na istniejących węzłach ZooKeeper:

  1. Uruchom ponownie polecenie konfiguracji z nowym plikiem konfiguracji:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updatedConfigFile

Ponowne uruchamianie wszystkich węzłów ZooKeeper

Na wszystkich węzłach ZooKeeper:

  1. Ponownie uruchom węzeł:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart

    Musisz ponownie uruchomić wszystkie węzły ZooKeeper, ale kolejność ponownego uruchamiania nie ma znaczenia.

Ponowne konfigurowanie węzła serwera zarządzania

Na węźle serwera zarządzania:

  1. Uruchom polecenie konfiguracji:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server setup -f updatedConfigFile
  2. Ponownie uruchom serwer zarządzania:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

Ponowne konfigurowanie wszystkich routerów

Na wszystkich węzłach routera:

  1. Uruchom polecenie konfiguracji:
    /opt/apigee/apigee-service/bin/apigee-service edge-router setup -f updatedConfigFile
  2. Ponowne uruchamianie routera:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart

Ponowne konfigurowanie wszystkich procesorów komunikatów

Na wszystkich węzłach procesora komunikatów:

  1. Uruchom polecenie konfiguracji:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor setup -f updatedConfigFile
  2. Ponownie uruchom procesor komunikatów:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Ponowne konfigurowanie wszystkich węzłów Qpid

Na wszystkich węzłach Qpid:

  1. Uruchom polecenie konfiguracji:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server setup -f updatedConfigFile
  2. Uruchom ponownie Qpid:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart

Ponowne konfigurowanie wszystkich węzłów Postgres

Na wszystkich węzłach Postgres:

  1. Uruchom polecenie konfiguracji:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server setup -f updatedConfigFile
  2. Uruchom ponownie Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart

Weryfikowanie instalacji

Możesz sprawdzić instalację nowych węzłów ZooKeeper, wysyłając polecenia do portu 2181 za pomocą netcat (nc) lub telnet. Więcej informacji o poleceniach ZooKeeper znajdziesz na stronie http://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_zkCommands.

Aby przeprowadzić weryfikację:

  1. Jeśli nie jest zainstalowane na węźle ZooKeeper, zainstaluj nc:
    sudo yum install nc
  2. Uruchom to polecenie nc:
    echo stat | nc localhost 2181
  3. Powtórz kroki 1 i 2 na każdym węźle ZooKeeper. W wierszu Mode danych wyjściowych dotyczących węzłów jeden węzeł powinien być oznaczony jako obserwator, jeden jako lider, a pozostałe jako obserwujący.