2013-07-10 15 views
8

Attualmente sto aggiornando un cluster a 21 nodi da 0.8 alla versione 1.0.11. Il processo di aggiornamento di cassandra richiede che gli sstables siano aggiornati al formato più recente dopo un aggiornamento del software (tramite nodetool upgradesstables). Questo processo sembra richiedere molto tempo. Ho un nodo che è stato in esecuzione per 48 ore e ancora non è fatto.il modo migliore per eseguire nodetool upgradesstable dopo l'aggiornamento?

Mi piacerebbe sapere se è consigliabile farlo in parallelo su tutti i nodi. Specificamente, quali sarebbero le implicazioni sulla performance? Questo cluster ha un utilizzo r/w piuttosto pesante e deve essere disponibile 24 ore su 24, 7 giorni su 7.

+1

3 anni dopo, ho lo stesso problema. Come sei riuscito a farlo funzionare? – FGRibreau

risposta

6

Durante la compattazione, i tuoi nodi riscriveranno ogni sstable alla velocità di "compaction_throughput_mb_per_sec".

La mia ipotesi è che le implicazioni di prestazioni sono direttamente collegate al valore di questa impostazione. Un valore basso (il valore predefinito è 16Mb, puoi andare più in basso) dovrebbe consentire di aggiornare il tuo cluster senza rallentarlo.

0

Eseguo l'aggiornamento simultaneamente su tutti i nodi. Eseguo il comando (su Linux)

nohup nodetool upgradesstables & 

e quindi disconnettersi e lasciarlo in esecuzione. È un compito a bassa priorità e impiegherà tutto il tempo necessario per riscrivere tutti gli sstable che necessitano riscrittura. Non ho notato problemi di latenza durante l'esecuzione dell'aggiornamento.

Se, ad esempio, si dispone di 1 TB di dati per nodo (cattivo!), L'aggiornamento deve riscrivere tutti i 1 TB di dati su più file. La lettura della scrittura di questi dati a velocità ridotta può richiedere diversi giorni.

nota: come sstables sono immutabili, e dal momento che i backup sono prese con la creazione di un collegamento reale a un file sstable, poi come il processo di aggiornamento è in funzione si raddoppierà la quantità di spazio su disco utilizzato. Quindi, controlla lo spazio su disco ed elimina gli snapshot, se necessario, per liberare spazio, soprattutto se i tuoi nodi utilizzano più del 50% di spazio su disco per i dati.

Problemi correlati