Aggiunta di nodi Cassandra

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

Sebbene sia possibile aggiungere uno o due nodi Cassandra a un'installazione Edge esistente, Apigee consiglia di aggiungerne tre alla volta.

Per un elenco dei requisiti di sistema per un nodo Cassandra, consulta Requisiti di installazione.

Configurazione Edge esistente

Tutte le topologie Edge supportate per un sistema di produzione specificano l'utilizzo di tre nodi Cassandra. I tre nodi sono specificati nella proprietà CASS_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"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1" 
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com
SMTPPASSWORD=smtppwd

Tieni presente che la proprietà REGION specifica il nome della regione come "dc-1". Ti serviranno queste informazioni quando aggiungi i nuovi nodi Cassandra.

Modifica del file di configurazione per aggiungere i tre nuovi nodi Cassandra

In questo esempio, i tre nuovi nodi Cassandra 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 CASS_HOSTS to add each new node after an existing nodes. 
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP14:1,1 $IP2:1,1 $IP15:1,1 $IP3:1,1 $IP16:1,1" 

In questo modo, i nodi esistenti mantengono le impostazioni iniziali dei token e il token iniziale di ogni nuovo nodo è compreso tra i valori dei token dei nodi esistenti.

Configurare Edge

Dopo aver modificato il file di configurazione, devi:

  • Riconfigura i nodi Cassandra esistenti
  • Installa Cassandra sui nuovi nodi
  • Configurare nuovamente il server di gestione

Riconfigura i nodi Cassandra esistenti

Sui nodi Cassandra esistenti:

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

Installa Cassandra sui nuovi nodi

Utilizza la procedura riportata di seguito per installare Cassandra sui nuovi nodi.

Su ogni nuovo nodo Cassandra:

  1. Installa Cassandra sui tre nodi:
    1. Installa apigee-setup sul primo nodo come descritto in Installa l'utilità apigee-setup di Edge.
    2. Installa Cassandra sul primo nodo utilizzando il file di configurazione aggiornato:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
    3. Ripeti questi due passaggi per i restanti nuovi nodi Cassandra.
  2. Ricostruisci i tre nuovi nodi Cassandra, specificando il nome della regione come il data center in cui aggiungi il nodo (dc-1, dc-2 e così via). In questo esempio, è dc-1:
    1. Sul primo nodo, esegui:
      /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h nodeIP rebuild dc-1

      dove nodeIP è l'indirizzo IP del nodo Cassandra.

      Devi passare il nome utente e la password solo se hai attivato l'autenticazione JMX per Cassandra.

    2. Ripeti questo passaggio sui restanti nuovi nodi Cassandra.

Configurare nuovamente il server di gestione

Su un nodo Management-Server

  1. Esegui di nuovo setup.sh per aggiornare il server di gestione per i nodi Cassandra appena aggiunti:
    /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updatedConfigFile

Riavviare tutti i router e i processori di messaggi

  1. Su tutti i router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  2. Su tutti i processori di messaggi:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Spazio su disco libero sui nodi Cassandra esistenti

Dopo aver aggiunto un nuovo nodo, puoi utilizzare il comando nodetool cleanup sui nodi preesistenti per liberare spazio su disco. Questo comando cancella i token di configurazione che non sono più di proprietà del nodo Cassandra esistente.

Per liberare spazio su disco sui nodi Cassandra esistenti dopo aver aggiunto un nuovo nodo, esegui il seguente comando:

/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassandraIP cleanup

Devi passare il nome utente e la password solo se hai abilitato l'autenticazione JMX per Cassandra.

Verifica la ricostruzione

Utilizza i seguenti comandi per verificare che la ricostruzione sia andata a buon fine:

nodetool [-u username -pw password] -h nodeIP netstats

Questo comando indica MODE: Normal quando il nodo è attivo e gli indici sono stati creati.

nodetool [-u username -pw password] -h nodeIP statusthrift

Questo comando mostra che il server Thrift è in esecuzione, consentendo a Cassandra di accettare nuove richieste del client.

nodetool [-u username -pw password] -h nodeIP statusbinary

Questo comando indica se il trasporto nativo (o protocollo binario) è in esecuzione.

nodetool [-u username -pw password] -h nodeIP describecluster

Questo comando mostra se i nuovi nodi utilizzano la stessa versione dello schema dei nodi precedenti.

Per ulteriori informazioni sull'utilizzo di nodetool, consulta la documentazione sull'utilizzo di nodetool.