A partir de C # quando tento adicionar dados a um cluster de cassandra, recebo esta exceção:
{Not enough replicas available for query at consistency One (1 required but only 0 alive)"}
Quando executo o nodetool de um dos nós, obtenho o mesmo resultado. A única coisa que parece estranha é o nome do datacenter, "168". Eu posso esclarecer mais, se necessário.
adminuser@adminuser-VirtualBox:/home/cassandra/apache-cassandra-2.1.0/conf$ ../bin
/nodetool status
Note: Ownership information does not include topology; for complete information, specify a keyspace
Datacenter: 168
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns Host ID Rack
UN 192.168.1.3 79.75 KB 1 25.0% af524aa1-16b3-48b7-96bf-3531c7c18903 1
UN 192.168.1.2 46.2 KB 1 75.0% bc2520b8-a41f-4eb5-9648-867a016c5e01 1
adminuser@adminuser-VirtualBox:/home/cassandra/apache-cassandra-2.1.0/conf$
Se eu especificar o espaço de chaves
adminuser@adminuser-VirtualBox:/home/cassandra/apache-cassandra-2.1.0/conf$ ../bin
/nodetool status timeseries
Datacenter: 168
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 192.168.1.3 79.75 KB 1 0.0% af524aa1-16b3-48b7-96bf-3531c7c18903 1
UN 192.168.1.2 46.2 KB 1 0.0% bc2520b8-a41f-4eb5-9648-867a016c5e01 1
adminuser@adminuser-VirtualBox:/home/cassandra/apache-cassandra-2.1.0/conf$
EDITAR:
Eu modifiquei a propriedade em cassandra.yaml em ambos os nós para usar o arquivo cassandra-topology.yaml
endpoint_snitch: PropertyFileSnitch
e agora o status do nodetool parece mais normal:
Datacenter: DC1
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns Host ID Rack
UN 192.168.1.3 152.15 KB 1 25.0% af524aa1-16b3-48b7-96bf-3531c7c18903 r1
UN 192.168.1.2 114.1 KB 1 75.0% bc2520b8-a41f-4eb5-9648-867a016c5e01 r1
adminuser@adminuser-VirtualBox:/home/cassandra/apache-cassandra-2.1.0/bin$
No entanto, ainda recebo a mesma exceção do C #.
Mais um esclarecimento, criei o espaço de chaves assim:
cqlsh> create keyspace timeseries WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 3 };
Acho que esse pode ser o problema ...
EDITAR
Eu percebi isso. Eu tive que dizer:
cqlsh> create keyspace timeseries WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'DC1' : 2 };
Agora os dados são gravados corretamente em C # e vejo os dados nos dois nós.
Tags cassandra