Aggiunta di nodi Cassandra

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

Sebbene sia possibile aggiungere uno o due nodi Cassandra a un'installazione Edge esistente, Apigee consiglia di aggiungere tre nodi 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". Queste informazioni sono necessarie per aggiungere 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 dei token iniziali e il token iniziale di ogni nuovo nodo è compreso tra i valori dei token dei nodi esistenti.

Configura Edge

Dopo aver modificato il file di configurazione, devi:

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

Riconfigura i nodi Cassandra esistenti

Sui nodi Cassandra esistenti:

  1. Esegui nuovamente 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 seguente 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. Ricrea i tre nuovi nodi Cassandra, specificando il nome della regione come data center in cui stai aggiungendo 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.

Riconfigura il server di gestione

Su un nodo del server di gestione

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

Riavvia 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 libero su disco 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 preesistente.

Per liberare spazio su disco sui nodi Cassandra preesistenti 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 nuova build

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

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

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

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

Dovrebbe indicare che il server Thrift è in esecuzione, il che consente a Cassandra di accettare nuove richieste dei client.

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

Dovrebbe indicare che il trasporto nativo (o protocollo binario) è in esecuzione.

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

Dovrebbe mostrare che i nuovi nodi utilizzano la stessa versione dello schema dei nodi precedenti.

Per saperne di più sull'utilizzo di nodetool, consulta la documentazione sull'utilizzo di nodetool.