Aggiunta di nodi ZooKeeper

Questo documento descrive come aggiungere tre nuovi nodi ZooKeeper a un Edge for Private esistente e l'installazione nel cloud.

Puoi aggiungere uno o due nodi ZooKeeper a un'installazione Edge esistente, ma devi assicurati di avere sempre un numero dispari di nodi elettori ZooKeeper, come descritto di seguito.

Configurazione perimetrale esistente

Tutte le topologie Edge supportate per un sistema di produzione specificano di utilizzare tre ZooKeeper nodi. I tre nodi sono specificati in ZK_HOSTS e ZK_CLIENT_HOSTS proprietà nel file di configurazione, come mostrato di seguito:

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

Dove:

  • ZK_HOSTS specifica gli indirizzi IP o i nomi DNS dei nodi ZooKeeper. Gli indirizzi IP o i nomi DNS devono essere elencati nello stesso ordine su tutti i nodi di ZooKeeper. In un ambiente multi-data center, elencare tutti i nodi ZooKeeper di entrambi i data center.
  • ZK_CLIENT_HOSTS specifica gli indirizzi IP o i nomi DNS dei nodi ZooKeeper utilizzati da questo data center. Gli indirizzi IP DNS o DNS devono essere elencati nello stesso ordine su tutti i nodi ZooKeeper.

    In una singola installazione di data center, si tratta degli stessi nodi specificati ZK_HOSTS. In un ambiente multi-data center, elenca solo i nodi ZooKeeper presenti data center.

Modifica il file di configurazione per aggiungere i tre nuovi nodi di ZooKeeper

In questo esempio, i tre nuovi nodi ZooKeeper si trovano ai seguenti indirizzi IP:

  • 10.10.0.14
  • 10.10.0.15
  • 10.10.0.16

Devi prima aggiornare il file di configurazione Edge per aggiungere i nuovi nodi:

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"

Contrassegna l'ultimo nodo in ZK_HOSTS con Modificatore :observer. I nodi senza il modificatore :observer sono denominati "voter". Devi avere un numero dispari di "votanti" nella tua configurazione. Pertanto, in questo configurazione, ci sono 5 elettori ZooKeeper e un osservatore.

Assicurati di aggiungere i nodi sia a ZK_HOSTS che ZK_CLIENT_HOSTS nello stesso ordine. Tuttavia, ometti il modificatore :observer quando imposti ZK_CLIENT_HOSTS.

Configura Edge

Dopo aver modificato il file di configurazione, devi eseguire tutte le seguenti attività.

Installa ZooKeeper sui nuovi nodi

  1. Installa apigee-setup sul primo nodo come descritto in Installa l'utilità apigee-setup Edge.
  2. Installa ZooKeeper sul primo nodo utilizzando i seguenti comandi:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper install
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updatedConfigFile
  3. Ripeti i passaggi 1 e 2 per i nuovi nodi ZooKeeper rimanenti.

Riconfigura lo ZooKeeper esistente nodi

Sui nodi ZooKeeper esistenti:

  1. Esegui di nuovo il comando di configurazione con il nuovo file di configurazione:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updatedConfigFile

Riavvia tutti i nodi Zookeeper

Su tutti i nodi di ZooKeeper:

  1. Riavvia il nodo:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart

    Devi riavviare tutti i nodi di ZooKeeper, ma l'ordine di riavvio non è importante.

Riconfigura il server di gestione nodo

Sul nodo del server di gestione:

  1. Esegui il comando di configurazione:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server setup -f updatedConfigFile
  2. Riavvia il server di gestione:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

Riconfigura tutti i router

Su tutti i nodi del router:

  1. Esegui il comando di configurazione:
    /opt/apigee/apigee-service/bin/apigee-service edge-router setup -f updatedConfigFile
  2. Riavvia il router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart

Riconfigura tutti i messaggi Processori

Su tutti i nodi del processore di messaggi:

  1. Esegui il comando di configurazione:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor setup -f updatedConfigFile
  2. Riavvia il processore di messaggi:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Riconfigura tutti i nodi Qpid

Su tutti i nodi Qpid:

  1. Esegui il comando di configurazione:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server setup -f updatedConfigFile
  2. Riavvia Qpid:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart

Riconfigura tutti i nodi Postgres

Su tutti i nodi Postgres:

  1. Esegui il comando di configurazione:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server setup -f updatedConfigFile
  2. Riavvia Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart

Convalida l'installazione

Puoi convalidare l'installazione dei nuovi nodi ZooKeeper inviando comandi alla porta 2181 utilizzando netcat (nc) o telnet. Per ulteriori informazioni sui comandi ZooKeeper, vedi: http://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_zkCommands.

Per eseguire la convalida, procedi nel seguente modo:

  1. Se non è installato sul nodo ZooKeeper, installa nc:
    sudo yum install nc
  2. Esegui questo comando nc:
    echo stat | nc localhost 2181
  3. Ripeti i passaggi 1 e 2 su ciascun nodo ZooKeeper. Nella riga Mode dell'output per nodo, uno deve essere designato come osservatore, un nodo come leader e il resto come follower.