Aggiunta di nodi ZooKeeper

Edge for Private Cloud v4.18.01

Questo documento descrive come aggiungere tre nuovi nodi ZooKeeper a un'installazione Edge for Private Cloud esistente.

Puoi aggiungere uno o due nodi ZooKeeper a un'installazione Edge esistente, ma devi assicurarti di avere sempre un numero dispari di nodi ZooKeeper elettori, 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 per le 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 
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 di 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 in tutti i nodi di ZooKeeper.

    In una singola installazione di data center, si tratta degli stessi nodi specificati da ZK_HOSTS. In un ambiente con più data center, elenca solo i nodi ZooKeeper in questo data center.

Modificando il 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 di 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 il modificatore ":observer". I nodi senza il modificatore ":observer" sono chiamati "elettori". La configurazione deve avere un numero dispari di "elettori". Pertanto, in questa configurazione hai 5 elettori ZooKeeper e un osservatore.

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

Configurare 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à apigee-setup per 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 gli altri nuovi nodi ZooKeeper.

Riconfigura i nodi ZooKeeper esistenti

Sui nodi ZooKeeper esistenti:

  1. Esegui di nuovo il comando di configurazione con il profilo "-p c" e il nuovo file di configurazione:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updatedConfigFile

Riavviare tutti i nodi Zookeeper

Su tutti i nodi ZooKeeper:

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

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

Configura di nuovo 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. Riavviare il server di gestione:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

Riconfigura tutti i router

Su tutti i nodi 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 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 Message Processor:
    > /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, consulta: 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 ogni nodo ZooKeeper.
    Nella riga Mode dell'output per i nodi, un nodo deve essere designato come osservatore, un nodo come leader e gli altri come follower.