Dodawanie węzłów ZooKeeper

Edge dla chmury prywatnej w wersji 4.16.05

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 
BIND_ON_ALL_INTERFACES=y
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 wyświetl listę wszystkich węzłów 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 zostały 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. Jednak podczas ustawiania ZK_CLIENT_HOSTS pomiń 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 setup.sh z profilem „-p c” i 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. Uruchom ponownie 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. Uruchom ponownie 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. Uruchom ponownie router:
    > /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. Uruchom ponownie 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 zainstalowany w 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 (Tryb) danych wyjściowych dla węzłów jeden węzeł powinien być oznaczony jako obserwator, jeden jako lider, a pozostałe jako obserwujący.