Quando aggiungi nodi Cassandra a un cluster, è essenziale considerare i due punti chiave seguenti:
- Le posizioni esistenti dei nodi nell'anello di Cassandra non dovrebbero cambiare per ridurre al minimo i flussi di dati e mantenere un anello bilanciato.
- Il numero di nodi in tutti i data center deve rimanere coerente.
Per garantire il primo obiettivo, è fondamentale raddoppiare il numero di nodi nel cluster Cassandra ogni volta che aggiungi nuovi nodi.
Ad esempio, se inizi con una topologia standard di installazione di cluster a 12 nodi distribuita in due data center, avrai un totale di sei nodi Cassandra, tre in ciascun data center. Per espandere il cluster, devi aggiungere tre nodi a ciascun data center, aumentando il numero totale di nodi a 12 (sei nodi in ogni data center). Se è necessaria un'ulteriore espansione, è necessario aggiungere altri sei nodi a ciascun data center, ottenendo un numero totale di nodi pari a 24 (12 nodi in ogni data center).
Questo documento fornisce istruzioni per l'aggiunta di tre nuovi nodi Cassandra a un'installazione di Edge per il cloud privato esistente. Puoi seguire gli stessi passaggi per aggiungere altri nodi. Assicurati sempre che, quando espandi il cluster, il numero di nodi raddoppia.
Per un elenco dei requisiti di sistema per un nodo Cassandra, consulta la sezione Requisiti di installazione.
Configurazione perimetrale esistente
Tutte le topologie Edge supportate per un sistema di produzione specificano di utilizzare tre Cassandra
nodi. I tre nodi sono specificati per la 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". È necessario
informazioni quando aggiungi i nuovi nodi Cassandra.
Modifica il 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 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"
Questo assicura che i nodi esistenti mantengano le impostazioni iniziali del token e il token iniziale di ogni nuovo nodo si trova tra i valori 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 Cassandra esistente nodi
Nei nodi Cassandra esistenti:
- Esegui nuovamente il file setup.sh con "-p c" profilo 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:
- Installa Cassandra sui tre nodi:
- Installa
apigee-setup
su il primo nodo come descritto in Installare Utilità apigee-setup. - Installa Cassandra sul primo nodo utilizzando il file di configurazione aggiornato:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
- Ripeti questi due passaggi per i nuovi nodi Cassandra rimanenti.
- Installa
- Ricrea i tre nuovi nodi Cassandra, specificando come nome della regione il data center
in cui stai aggiungendo il nodo (
dc-1
,dc-2
e così via). In questo esempio, èdc-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 trasmettere il tuo nome utente e la tua password solo se l'autenticazione JMX abilitata per Cassandra.
- Ripeti questo passaggio sui nuovi nodi Cassandra rimanenti.
- Sul primo nodo, esegui:
Riconfigura il server di gestione
Su un nodo di Management-Server
- 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
Riavvia tutti i router e i messaggi Processori
- Su tutti i router:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- Su tutti i processori di messaggi:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Spazio libero su disco esistente Nodi Cassandra
Dopo aver aggiunto un nuovo nodo, puoi utilizzare il comando nodetool cleanup
nella
per liberare spazio su disco. Questo comando cancella i token di configurazione che non sono
di proprietà del nodo Cassandra preesistente.
Per liberare spazio su disco nei nodi Cassandra preesistenti dopo l'aggiunta di un nuovo nodo, esegui la seguente comando:
/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassandraIP cleanup
Devi trasmettere il tuo nome utente e la tua password solo se l'autenticazione JMX abilitata per Cassandra.
Verifica rigenerazione
Utilizza i seguenti comandi per verificare che la ricompilazione sia riuscita:
nodetool [-u username -pw password] -h nodeIP netstats
Questo comando dovrebbe indicare MODE: Normal
quando il nodo è attivo e gli indici
vengono create.
nodetool [-u username -pw password] -h nodeIP statusthrift
Deve indicare che il server dell'usato è in esecuzione, il che consente a Cassandra di accettare nuovo client richieste.
nodetool [-u username -pw password] -h nodeIP statusbinary
Deve indicare che il trasporto nativo (o protocollo binario) è in esecuzione.
nodetool [-u username -pw password] -h nodeIP describecluster
Deve indicare che i nuovi nodi utilizzano la stessa versione dello schema dei nodi precedenti.
Per ulteriori informazioni sull'utilizzo di nodetool
, consulta le
documentazione sull'utilizzo di nodo.