devo mescolare il vecchio cluster dopo la migrazione di vnodes?
Non è necessario. Se si passa da un token per nodo a 256 (il valore predefinito), ciascun nodo dividerà il suo intervallo in 256 intervalli adiacenti di uguali dimensioni. Ciò non influisce sulla vita dei dati. Ma ciò significa che quando si esegue il bootstrap in un nuovo nodo nel nuovo DC, esso rimarrà bilanciato durante tutto il processo.
qual è il modo migliore per passare a NetworkTopologyStrategy e a GossipingPropertyFileSnitch?
La difficoltà è che la commutazione della strategia di replica non è generalmente sicura poiché i dati devono essere spostati nel cluster. NetworkToplogyStrategy (NTS) posizionerà i dati su diversi nodi se gli dirai che i nodi si trovano in rack diversi. Per questo motivo, è necessario passare a NTS prima di aggiungere i nuovi nodi.
Ecco un metodo per fare questo, dopo aver aggiornato il cluster precedente a vnodi (sopra il punto 1):
1a. Elencare tutti i nodi esistenti come in DC0 nel file delle proprietà. Elenca i nuovi nodi come in DC1 e nei loro rack corretti.
1b. Modificare la strategia di replica in NTS con le opzioni DC0: 3 (o qualsiasi sia il fattore di replica corrente) e DC1: 0.
Quindi per aggiungere i nuovi nodi, seguire la procedura qui: http://www.datastax.com/docs/1.2/operations/add_replace_nodes#adding-a-data-center-to-a-cluster. Ricordarsi di impostare il numero di token su 256 poiché sarà 1 per impostazione predefinita.
Nel passaggio 5, è necessario impostare il fattore di replica per DC0 su 0, ovvero modificare le opzioni di replica su DC0: 0, DC1: 3. Ora questi nodi non vengono utilizzati, quindi la rimozione delle autorizzazioni non invierà alcun flusso di dati, ma dovresti farlo comunque piuttosto che spegnerli in modo che vengano rimossi dal ring.
Nota un rischio è che le scritture eseguite a un livello di coerenza basso nei vecchi nodi potrebbero andare perse. Per evitare questo, è possibile scrivere su CL.LOCAL_QUORUM dopo aver effettuato il passaggio al nuovo controller di dominio. C'è ancora una piccola finestra in cui le scritture potrebbero andare perse (tra i passaggi 3 e 4). Se è importante, è possibile eseguire la riparazione prima di rimuovere i vecchi nodi per garantire perdite o scrivere ad un livello di coerenza elevato.
consiglio pro: provalo prima in un ambiente di prova/non di produzione. – Schildmeijer
sì, questo è quello che sto facendo ora – relgames