Aggiunta di nodi ZooKeeper

Edge per Private Cloud v. 4.17.05

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

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 da ZK_HOSTS. In un ambiente multi-data , elenca solo i nodi ZooKeeper in questo 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 chiamati "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 nodi sia a ZK_HOSTS che a ZK_CLIENT_HOSTS nella 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 su il primo nodo come descritto in Installare Utilità apigee-setup.
  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 nuovamente il file setup.sh con "-p c" profilo e 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 reboot

    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 configurazione -f updatedConfigFile
  2. Riavvia il server di gestione:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server riavvio

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 riavvio

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 configurazione del processore edge-message-f updatedConfigFile
  2. Riavvia il processore di messaggi:
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor riavvio

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 riavvio

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 configurazione -f updatedConfigFile
  2. Riavvia Postgres:
    > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server riavvio

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:
    > stat echo | localhost nc 2181
  3. Ripeti i passaggi 1 e 2 su ciascun nodo ZooKeeper.
    Nella riga Modalità dell'output per i nodi, un nodo deve essere designato come osservatore, un nodo come leader e il resto come follower.