我有一个单节点Cassandra集群用于简单的开发活动。 所有用法都正常但是如果我尝试执行LWT,则查询失败,并显示一条消息,表明没有足够的主机可用。
如果配置了更多主机,这是有道理的,但是如果所有主机都可用,则为1,那么它应该成功。
CQLSH中的错误是NoHostAvailable。 无论一致性水平如何,使用C# driver from Datastax,我尝试了几个,错误是:
Not enough replicas available for query at consistency Quorum (2 required but only 1 alive)
有趣的是,如果我只是删除" IF NOT EXISTS"从CQL开始,查询成功。
如果群集中有单个节点,是否应该使用Paxos?
Cassandra版本:
[cqlsh 5.0.1 | Cassandra 3.0.11.1485 | CQL spec 3.4.0 | Native protocol v4]
KEYSPACE:
CREATE KEYSPACE "XYZ" WITH replication = {'class': 'NetworkTopologyStrategy', 'Cassandra': '1', 'Solr': '1'} AND durable_writes = true;
Nodetool ring:
administrator@cassandra-dev01:~$ nodetool ring
Datacenter: Cassandra
==========
Address Rack Status State Load Owns Token
10.10.98.200 rack1 Up Normal 106.92 GB ? -8300708032273586829
Datacenter: SearchGraphAnalytics
==========
Address Rack Status State Load Owns Token
10.10.98.201 rack1 Up Normal 13.79 MB ? 4478178638510484591
答案 0 :(得分:1)
看起来数据中心Solr中的节点已关闭或无法访问。当你只说Quorum而不是本地仲裁时,它实际上将根据你描述的内容转到另一个节点。