Questa sezione fornisce indicazioni generali per le operazioni di scalabilità di Cassandra rendendo Cassandra su rack Apigee Edge per il cloud privato.
Per ulteriori informazioni sul motivo per cui è importante rendere il tuo rack ad anello Cassandra importante, consulta quanto segue di risorse:
- Replica (documentazione di Cassandra)
- Cassandra Architettura e Strategia dei fattori di replica
Cos'è un rack?
Un rack Cassandra è un raggruppamento logico di nodi Cassandra all'interno dell'anello. Cassandra utilizza i rack per garantire che le repliche siano distribuite tra raggruppamenti logici. Come le operazioni vengono inviate non solo a un nodo, ma a più nodi, ognuno su un rack separato offrendo disponibilità e tolleranza agli errori maggiori.
Gli esempi in questa sezione utilizzano tre rack Cassandra, ovvero il numero di rack supportate da Apigee nelle topologie di produzione.
L'installazione predefinita di Cassandra in Apigee Edge per il cloud privato presuppone un singolo rack logico e colloca tutti dei nodi di un data center al suo interno. Questa configurazione è semplice da installare e gestire, è suscettibile di errore se un'operazione non riesce su uno di questi nodi.
L'immagine seguente mostra la configurazione predefinita dell'anello di Cassandra:
In una configurazione più solida, ogni nodo viene assegnato a un rack e a un'operazione separati viene eseguito anche sulle repliche di ciascuno di questi rack.
L'immagine seguente mostra un anello a tre nodi. Questa immagine mostra l'ordine di esecuzione delle operazioni replicati nell'anello (in senso orario) ed evidenzia il fatto che non esistono due nodi uguali rack:
In questa configurazione, le operazioni vengono inviate a un nodo, ma anche alle repliche di quel nodo su altri rack (in ordine orario).
Aggiungi consapevolezza del rack (con tre nodi)
Tutte le topologie di installazione di produzione di Apigee Edge per il cloud privato hanno almeno tre nodi Cassandra, che in questa sezione si riferisce a "IP1", "IP2" e "IP3". Per impostazione predefinita, ognuno di questi nodi si trova nello stesso rack, "ra-1".
Questa sezione descrive come assegnare i nodi Cassandra a rack separati in modo che tutte le operazioni vengono inviati ai nodi di replica in raggruppamenti logici separati all'interno dell'anello.
Per assegnare nodi Cassandra a rack diversi durante l'installazione:
- Prima di eseguire il programma di installazione, accedi al nodo Cassandra e apri
seguente file di configurazione silenziosa per la modifica:
/opt/silent.conf
Crea il file se non esiste e assicurati di creare l'elemento "apigee" un utente come proprietario.
- Modifica la proprietà
CASS_HOSTS
, un elenco di indirizzi IP separati da spazi (non DNS o nomi host) che utilizzano la seguente sintassi:CASS_HOSTS="IP_address:data_center_number,rack_number [...]"
Il valore predefinito è un anello Cassandra a tre nodi con ogni nodo assegnato al rack 1 e ai dati center 1, come illustrato nell'esempio seguente:
CASS_HOSTS="IP1:1,1 IP2:1,1 IP3:1,1"
- Modificare le assegnazioni del rack in modo che il nodo 2 sia assegnato al rack 2 e il nodo 3 sia assegnato
rack 3, come mostrato nell'esempio seguente:
CASS_HOSTS="IP1:1,1 IP2:1,2 IP3:1,3"
Modificando le assegnazioni rack, indichi a Cassandra di creare due regole logiche aggiuntive (rack), che forniscono repliche che ricevono tutte le operazioni ricevute nel primo nodo.
Per saperne di più sull'utilizzo della proprietà di configurazione
CASS_HOSTS
, consulta Riferimento del file di configurazione Edge. - Salva le modifiche al file di configurazione ed esegui questo comando per installare
Cassandra con la tua configurazione aggiornata:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f path/to/silent/config
Ad esempio:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f /opt/silent.conf
- Ripeti questa procedura per ciascun nodo Cassandra nell'anello, nell'ordine in cui i nodi
sono assegnati nella proprietà
CASS_HOSTS
. In questo caso, devi installare Cassandra nel seguente ordine:- Nodo 1 (IP1)
- Nodo 2 (IP2)
- Nodo 3 (IP3)
Dopo l'installazione, devi controllare la configurazione di Cassandra.
Controlla la configurazione di Cassandra
Dopo aver installato una configurazione Cassandra rack, puoi verificare che i nodi siano
ai diversi rack usando il comando nodetool status
, come
nell'esempio seguente:
/opt/apigee/apigee-cassandra/bin/nodetool status
(esegui questo comando su uno dei nodi Cassandra).
I risultati dovrebbero essere simili ai seguenti, in cui la colonna Rack mostra i diversi ID rack per ciascun nodo:
Datacenter: dc-1 ======================== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns Host ID Rack UN IP1 737 MB 256 ? 554d4498-e683-4a53-b0a5-e37a9731bc5c ra-1 UN IP2 744 MB 256 ? cf8b7abf-5c5c-4361-9c2f-59e988d52da3 ra-2 UN IP3 723 MB 256 ? 48e0384d-738f-4589-aa3a-08dc5bd5a736 ra-3
Se hai attivato l'autenticazione JMX per Cassandra, devi trasmettere anche il nome utente e
password per nodetool
. Per ulteriori informazioni, vedi
Utilizza nodetool per gestire i nodi del cluster.
Installa un anello a sei nodi
Per ulteriore ridondanza, puoi espandere l'anello di Cassandra a sei nodi. In questo caso, e assegnare due nodi a ciascuno dei tre rack. Questa configurazione richiede tre nodi aggiuntivi: Nodo 4 (IP4), Nodo 5 (IP5) e Nodo 6 (IP6).
L'immagine seguente mostra l'ordine in cui le operazioni vengono replicate nell'anello (senso orario) ed evidenzia il fatto che durante la replica non esistono due nodi adiacenti rack:
In questa configurazione, ogni nodo ha altre due repliche: una in ciascuno degli altri due rack. Per Ad esempio, il nodo 1 nel rack 1 ha una replica nel rack 2 e nel rack 3. Anche le operazioni inviate al nodo 1 inviati alle repliche negli altri rack, in ordine in senso orario.
Per espandere un anello Cassandra a tre nodi in un anello Cassandra a sei nodi, configura i nodi nella nel file di configurazione invisibile all'utente:
CASS_HOSTS="IP1:1,1 IP4:1,3 IP2:1,2 IP5:1,1 IP3:1,3 IP6:1,2"
Come per un anello a tre nodi, devi installare Cassandra nello stesso ordine in cui i nodi
vengono visualizzati nella proprietà CASS_HOSTS
:
- Nodo 1 (IP1)
- Nodo 4 (IP4)*
- Nodo 2 (IP2)
- Nodo 5 (IP5)
- Nodo 3 (IP3)
- Nodo 6 (IP6)
* Apporta le modifiche nel file di configurazione invisibile prima di eseguire l'utilità di configurazione sul quarto nodo (la seconda macchina nell'ordine di installazione di Cassandra).
Espandere a 12 nodi
Per aumentare ulteriormente la tolleranza e la disponibilità di errori, puoi aumentare il numero di account nodi nell'anello da 6 a 12. Questa configurazione richiede sei nodi aggiuntivi (da IP7 a IP12).
L'immagine seguente mostra l'ordine in cui le operazioni vengono replicate nell'anello (senso orario) ed evidenzia il fatto che durante la replica non esistono due nodi adiacenti rack:
La procedura per installare un anello a 12 nodi è simile all'installazione di un anello a tre o sei nodi:
imposta CASS_HOSTS
sui valori specificati ed esegui il programma di installazione nell'ordine specificato.
Per espandere in un anello Cassandra a 12 nodi, configura i nodi nella modalità silenziosa di configurazione del deployment:
CASS_HOSTS="IP1:1,1 IP7:1,2 IP4:1,3 IP8:1,1 IP2:1,2 IP9:1,3 IP5:1,1 IP10:1,2 IP3:1,3 IP11:1,1 IP6:1,2 IP12:1,3"
Come per gli anelli a tre e sei nodi, devi eseguire il programma di installazione sui nodi nell'ordine in che appaiono nel file di configurazione:
- Nodo 1 (IP1)
- Nodo 7 (IP7)*
- Nodo 4 (IP4)
- Nodo 8 (IP8)
- Nodo 2 (IP2)
- Nodo 9 (IP9)
- Nodo 5 (IP5)
- Nodo 10 (IP10)
- Nodo 3 (IP3)
- Nodo 11 (IP11)
- Nodo 6 (IP6)
- Nodo 12 (IP12)
* Devi apportare queste modifiche prima di installare Apigee Edge per il cloud privato sul settimo nodo (la seconda macchina l'ordine di installazione di Cassandra).