Eu tenho 3 clusters de nós virtuais do Cassandra. Nó1, Nó2 e Nó3.
Eu escrevi um pequeno código python para carregar dados em massa nele.
Na primeira vez, apenas 2 nós de três estão disponíveis online, Node1 e Node2 quando executo o código python com
session.default_consistency_level = 2
Recebi e erro:
cassandra.Unavailable: Error from server: code=1000 [Unavailable exception] message="Cannot achieve consistency level TWO" info={'consistency': 'TWO', 'required_replicas': 2, 'alive_replicas': 1}
Depois disso, coloquei meu terceiro nó (Node3) online e executei o programa python, ele foi executado com sucesso.
Pelo que entendi Nível de consistência = 2 significa que pelo menos 2 nós de 3 devem estar disponíveis todas as vezes.
Obrigado!
O nível de consistência refere-se ao número de réplicas necessárias, mas o número total de réplicas que existe é independente do número de nós. É definido pelo seu
Replication_Strategy
. Se sua estratégia para esse keyspace tiver apenas 2 réplicas, haverá muitas situações em que um CL de 2 falharia.Para os nós A, B e C
Imagine que os dados que você deseja foram replicados para A e B.
Mas apenas A e C estão vivos. Você só pode obter uma réplica, mesmo que 2 nós estejam ativos.