Aggiungi il supporto rack Cassandra

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:

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:

1 rack con 3 nodi
(Figura 1) Configurazione predefinita: tutti i nodi in un singolo rack

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:

3 rack, con 1 nodo in ogni rack
(Figura 2) Configurazione sensibile al rack: tre nodi, uno su ciascuno 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:

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

  2. 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"
  3. 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.

  4. 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
  5. 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:
    1. Nodo 1 (IP1)
    2. Nodo 2 (IP2)
    3. 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:

3 rack, con 2 nodi in ogni rack
(Figura 3) Anello Cassandra a 6 nodi: due nodi in ciascuno tre 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:

  1. Nodo 1 (IP1)
  2. Nodo 4 (IP4)*
  3. Nodo 2 (IP2)
  4. Nodo 5 (IP5)
  5. Nodo 3 (IP3)
  6. 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:

3 rack, con 4 nodi in ogni rack
(Figura 4) Anello di Cassandra a 12 nodi: quattro nodi in ciascuno dei tre 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:

  1. Nodo 1 (IP1)
  2. Nodo 7 (IP7)*
  3. Nodo 4 (IP4)
  4. Nodo 8 (IP8)
  5. Nodo 2 (IP2)
  6. Nodo 9 (IP9)
  7. Nodo 5 (IP5)
  8. Nodo 10 (IP10)
  9. Nodo 3 (IP3)
  10. Nodo 11 (IP11)
  11. Nodo 6 (IP6)
  12. 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).