2011-08-25 2 views
7

Sto cercando se cassandra ha limitazioni di specifiche hardware del nodo come quella che potrebbe essere la memoria massima per nodo se esiste una tale limitazione.limitazioni del nodo cassandra

Intendo utilizzare due nodi con memoria da 48 TB (2 TB x 24 dischi rigidi 7200 giri/min) per nodo con un buon processore xeon doppio.

Ho cercato tali limitazioni se esiste, ma non ho trovato alcun materiale su questo problema. E ragazzi, perché c'è di tanto meno buzz su Cassandra di recente mentre sta diventando maturo e la sua versione 0.8 mentre la maggior parte degli articoli/blog sono legati solo a 0.6 v.

risposta

7

Cassandra distribuisce i dati per riga, quindi l'unica limitazione è che una riga deve essere in grado di adattarsi a un singolo nodo.

Quindi la risposta breve è no.

La risposta più lunga è che ti consigliamo di assicurarti di impostare un'area di archiviazione separata per i tuoi dati permanenti e i tuoi registri di commit.

Un'altra cosa da tenere a mente è che ti imbatterai in problemi di velocità di ricerca. Una delle cose belle di Cassandra è che non è necessario avere un singolo nodo con tanti dati (e in effetti probabilmente non è ben consigliato, lo spazio di archiviazione supererà la potenza di elaborazione). Se si utilizzano nodi più piccoli (spazio su disco rigido), le capacità di archiviazione e elaborazione verranno ridimensionate.

+0

suo buon punto che la potenza di elaborazione in grado di superare lo stoccaggio.Hai una buona idea del rapporto di potenza di archiviazione e elaborazione? Intendevo utilizzare 16 core (32 thread) dual xeon 7560 per quella memoria. –

+0

Il punto debole su cui non ho potuto commentare. Tuttavia, un altro punto da considerare è il tuo fattore di replicazione. Avete in programma di avere 3 o più di quei nodi con un RF> = 2? Se non lo fai, elimini molti dei benefici di Cassandra (il numero uno non è un singolo punto di errore). – dmcnelis

+0

Sì, ci sarebbero anche più di 3 nodi della stessa dimensione e RF> = 2. Vorrei anche sapere di usare un'opzione alternativa come RAID10 .. se taglia in modo significativo il lavoro di replica di cassandra. –

5

Vedi How much data per node in Cassandra cluster?

che suggerisce che tra 1-10 TB per nodo è sensibile, a seconda dell'applicazione. Cassandra probabilmente funzionerà ancora con 48 TB, ma non in modo ottimale.

Si intende utilizzare il fattore di replica 1 o 2 (se si dispone di 2 nodi come indicato sopra)?

Alcune operazioni (riparazione, compattazione) possono essere estremamente lente con tanti dati su un singolo nodo.

+0

Se rompo ciascun nodo per dire 10 TB quale CPU/RAM dovrebbe essere l'ideale per far sì che cassandra gestisca ogni cosa in modo piacevole? Intendevo utilizzare 640 GB di RAM con 48 TB di spazio di archiviazione perché ci sarà solo nell'indice della colonna da mantenere. –

+2

Alcuni commenti sulla RAM su http://wiki.apache.org/cassandra/CassandraHardware - ma dipende molto dalle cache delle chiavi o dalle cache delle righe che si stanno utilizzando e dal carico di lavoro di lettura-scrittura. È probabile che si ottengano risultati migliori con più nodi, ciascuno con hardware modesto, rispetto a pochi nodi altamente specificati. – DNA

7

Ci sono alcune note here su considerazioni di set di dati di grandi dimensioni.

48 TB di dati per nodo è probabilmente troppo. Sarà molto meglio avere più nodi con piccole quantità di dati. Periodicamente è necessario eseguire nodetool repair, che comporta la lettura di tutti i dati sulla macchina. Se si memorizzano molti terabyte di dati su una macchina, questo sarà molto doloroso.

Vorrei limitare ogni nodo a circa 1 TB di dati.

5

Si consiglia inoltre di utilizzare grandi quantità di RAM con Cassandra. La RAM è ottima per memorizzare i dati in SST, ma dare alla JVM troppo spazio nell'heap è controproducente. Non fornire alla JVM più di 12 GB di spazio heap, altrimenti la raccolta dei dati inutili richiederà troppo tempo e ostacolerà le prestazioni. Questo è un altro motivo per cui avere un numero maggiore di nodi più piccoli è meglio in Cassandra.