从C#向cassandra集群添加数据时,出现这种exception

从C#尝试将数据添加到cassandra集群时,出现以下exception:

{Not enough replicas available for query at consistency One (1 required but only 0 alive)"} 

当我从任一节点运行nodetool,我得到相同的结果。 唯一奇怪的是数据中心名称“168”。 如果需要,我可以澄清更多。

 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$ 

如果我指定密钥空间

 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$ 

编辑:

我在两个节点上修改了cassandra.yaml中的属性以使用cassandra-topology.yaml文件

 endpoint_snitch: PropertyFileSnitch 

现在nodetool状态看起来更正常:

 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$ 

但是我仍然从C#中得到相同的exception。

再一次澄清,我创build了这样的密钥空间:

 cqlsh> create keyspace timeseries WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 3 }; 

我认为这可能是问题…

编辑

我想到了。 我不得不说:

 cqlsh> create keyspace timeseries WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'DC1' : 2 }; 

现在,数据从C#中正确写入,并在两个节点上看到数据。