2012-03-27 5 views
5

Ho un cluster Cassandra a 3 nodi con fattore di replica di 2. Perché uno dei nodi è stato sostituito con uno nuovo. E ho usato "nodetool repair" per riparare tutti gli spazi delle chiavi. Ma non so come verificare che tutti gli spazi delle chiavi siano sincronizzati.Metodi per verificare la sincronizzazione del nodo Cassandra

Prima, ho trovato solo questo articolo, ma un po '. Cassandra Data Replication problem

Esiste un modo per verificare gli spazi delle chiavi con fattore di replica> 1 in Cassandra?

Grazie mille.

Stephon

risposta

5

In primo luogo, se si esegue nuovamente nodetool riparazione e molto poco i dati vengono trasferiti (assumendo che tutti i nodi sono stati fino dal momento che l'ultima volta che è stato eseguito), si sa che i dati sono quasi perfettamente in sincronia. È possibile consultare i registri per vedere i numeri su quanti dati vengono trasferiti durante questo processo.

In secondo luogo, è possibile verificare che tutti i nodi ottengano un numero simile di scritture osservando i conteggi di scrittura con nodetool cfstats. Tieni presente che il valore del conteggio delle scritture viene reimpostato ogni volta che si riavvia Cassandra, quindi se non vengono riavviati più o meno nello stesso momento, dovrai vedere con che rapidità aumentano nel tempo.

Infine, se si desidera solo verificare alcuni valori aggiornati di recente, è possibile provare a leggere quei valori al livello di coerenza UNO. Se si ottiene sempre la versione più aggiornata dei dati, si saprà che le repliche sono probabilmente sincronizzate.

Come nota generale, la replica è una parte così radicata di Cassandra che è estremamente improbabile che fallisca da solo senza che se ne accorga. Tipicamente un nodo verrà marcato verso il basso poco dopo l'inizio dei problemi. Inoltre, suppongo che tu stia scrivendo a livello di coerenza ONE o ANY; con qualcosa di più alto, sai per certo che entrambe le repliche hanno ricevuto la scrittura.

1

Un modo per controllare è utilizzare nodetool getendpoints. Passa poche chiavi casuali e controlla quali endpoint detengono quella chiave. Questo dovrebbe mostrare se le repliche sono posizionate in due nodi o meno.