Aggiunta di nodi ZooKeeper

Edge per Private Cloud v. 4.17.01

Questo documento descrive come aggiungere tre nuovi nodi ZooKeeper a un'installazione Edge per cloud privato esistente.

Puoi aggiungere uno o due nodi ZooKeeper a un'installazione Edge esistente, ma devi assicurarti 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 nodi ZooKeeper. I tre nodi sono specificati nelle proprietà 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 ZooKeeper. In un ambiente multi-data center, elenca 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 o i nomi 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 center, elenca solo i nodi ZooKeeper in questo data center.

Modifica del file di configurazione per aggiungere i tre nuovi nodi 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 perimetrale 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 il modificatore ":observer". I nodi senza il modificatore ":observer" sono chiamati "voter". La tua configurazione deve contenere un numero dispari di "votanti". Pertanto, in questa configurazione hai 5 votanti ZooKeeper e un osservatore.

Assicurati di aggiungere i nodi sia a ZK_HOSTS che a 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 Installare l'utilità Edge 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 i nodi ZooKeeper esistenti

Sui nodi ZooKeeper esistenti:

  1. Esegui di nuovo il file setup.sh con il profilo "-p c" 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 ZooKeeper:

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

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

Riconfigurare il nodo del server di gestione

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 reboot

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 concern

Riconfigura tutti i processori di messaggi

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 affidabile

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 reboot

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 affidabile

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