Ho assolutamente bisogno di un minimo di 3 nodi / server per un cluster Cassandra o la volontà 2 bastano?

StackOverflow https://stackoverflow.com/questions/2330562

Domanda

Sicuramente si può eseguire un cluster a singolo nodo, ma mi piacerebbe un certo livello di tolleranza d'errore.

Al momento posso permettersi di affittare due server (8 GB di RAM, VLAN privata @ reti da 1 GigE), ma non 3.

La mia comprensione è che 3 nodi è il minimo necessario per un cluster Cassandra perché non c'è possibilità di maggioranza tra i 2 nodi, ed è necessaria una maggioranza per risolvere i conflitti di versioning. Oh aspetta, sto pensando di "orologi vettore" e Riak? Ack! Cassandra utilizza timestamp per la risoluzione dei conflitti.

Per 2 nodi, qual è la strategia di lettura / scrittura raccomandato? Devo generalmente scrivere ALL (entrambi) nodi e leggere ONE (N = 2; W = N / 2 + 1; W = 2/2 + 1 = 2)? Cassandra utilizzerà accennato-handoff come al solito, anche per 2 nodi, sì?

Questi 2 server si trovano nello stesso centro dati FWIW.

Grazie!

È stato utile?

Soluzione

Se avete bisogno di disponibilità su RF = 2, dei cluster = Sistema 2, allora non si può utilizzare in tutto o non sarà in grado di scrivere quando un nodo va giù.

Ecco perché la gente consiglia 3 nodi invece di 2, perché allora si può fare il quorum legge + scrive e hanno ancora sia forte coerenza e di disponibilità, se un singolo nodo va giù.

Con solo 2 nodi si arriva a scegliere se si desidera una forte consistenza (scrivere con ALL) o la disponibilità a fronte di un singolo guasto nodo (scrivere con ONE), ma non entrambi. Naturalmente se si scrive con ONE cassandra farà accennato handoff ecc come necessario per renderlo finalmente coerente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top