Aggiunta di nodi ZooKeeper

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

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

Configurazione Edge esistente

Tutte le topologie Edge supportate per un sistema di produzione specificano l'utilizzo di 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
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 con più 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 un'installazione in un singolo data center, questi sono gli stessi nodi specificati da ZK_HOSTS. In un ambiente con più 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 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 "votanti". La configurazione deve avere 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 sia 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 Installa l'utilità apigee-setup di 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 restanti nuovi nodi ZooKeeper.

Riconfigura i nodi ZooKeeper esistenti

Sui nodi ZooKeeper esistenti:

  1. Esegui nuovamente 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 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.

Riconfigura 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 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 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, 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 questo 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 il resto come follower.