Dodawanie węzłów ZooKeeper

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

Możesz dodać 1 lub 2 węzły ZooKeeper do istniejącej instalacji Edge, ale musisz pamiętać, aby zawsze mieć nieparzystą liczbę węzłów wyborczych ZooKeeper, jak opisano poniżej.

Istniejąca konfiguracja brzegowa

Wszystkie obsługiwane topologie Edge dla systemu produkcyjnego określają 3 węzły ZooKeeper. Te 3 węzły są określone we właściwościach ZK_HOSTS i ZK_CLIENT_HOSTS w pliku konfiguracyjnym, 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 wyświetl 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 pojedynczej instalacji centrum danych są to te same węzły, które określono przez ZK_HOSTS. W środowisku z wieloma centrami danych wymień w tym centrum danych tylko węzły ZooKeeper.

Zmodyfikowanie pliku konfiguracyjnego w celu dodania 3 nowych węzłów ZooKeeper

W tym przykładzie 3 nowe węzły ZooKeeper znajdują się pod tymi adresami IP:

  • 10.10.0.14
  • 10.10.0.15
  • 10.10.0.16

Aby dodać nowe węzły, musisz najpierw zaktualizować plik konfiguracji Edge:

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 łańcuchu ZK_HOSTS modyfikatorem :observer. Węzły bez modyfikatora :observer są nazywane „głosami”. W konfiguracji musisz mieć nieparzystą liczbę „głosów”. Oznacza to, że w tej konfiguracji masz 5 głosowych wyborców ZooKeeper i 1 obserwatora.

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

Skonfiguruj Edge

Po zmodyfikowaniu pliku konfiguracyjnego musisz wykonać wszystkie opisane poniżej czynności.

Zainstaluj ZooKeeper w nowych węzłach

  1. Zainstaluj apigee-setup w pierwszym węźle zgodnie z opisem w sekcji Instalowanie narzędzia Edge apigee-setup.
  2. Zainstaluj ZooKeeper w 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 dla pozostałych nowych węzłów ZooKeeper.

Ponownie skonfiguruj istniejące węzły ZooKeeper

W dotychczasowych węzłach ZooKeeper:

  1. Ponownie uruchom polecenie konfiguracji z nowym plikiem konfiguracyjnym:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updatedConfigFile

Ponowne uruchomienie wszystkich węzłów Zookeeper

We 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.

Ponownie skonfiguruj węzeł serwera zarządzania

W 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

Ponownie skonfiguruj wszystkie routery

We wszystkich węzłach routera:

  1. Uruchom polecenie konfiguracji:
    /opt/apigee/apigee-service/bin/apigee-service edge-router setup -f updatedConfigFile
  2. Ponownie uruchom router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart

Ponownie skonfiguruj wszystkie procesory wiadomości

We wszystkich węzłach procesora wiadomości:

  1. Uruchom polecenie konfiguracji:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor setup -f updatedConfigFile
  2. Ponownie uruchom procesor wiadomości:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Ponownie skonfiguruj wszystkie węzły Qpid

We 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

Ponownie skonfiguruj wszystkie węzły Postgres

We wszystkich węzłach Postgres:

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

Zweryfikuj instalację

Możesz zweryfikować instalację nowych węzłów ZooKeeper, wysyłając polecenia do portu 2181 za pomocą narzędzia 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 w każdym węźle ZooKeeper. W wierszu Mode wyników węzłów powinien być wyznaczony 1 węzeł jako obserwator, 1 węzeł wiodący, a reszta obserwujący.