【问题标题】:Is this really a problem in Cassandra Cluster "2 replica were required but only 1 acknowledged the write"这真的是 Cassandra 集群中的问题吗?“需要 2 个副本,但只有 1 个确认写入”
【发布时间】:2019-06-30 01:11:21
【问题描述】:
我最近设置了 6 个节点 C* 集群(C* 版本:3.0.13)和 RF=3 的一致性级别 QUORUM。
我一直看到一堆以下异常。
在一致性 QUORUM (2
副本是必需的,但只有 1 个确认写入)
我明白,即它们最终会被写入其他节点,但我仍在努力寻找相同的根本原因。
如果可以继续,或者我应该注意什么以改进代码,请说明一下相同的情况?
非常感谢您的回复!
【问题讨论】:
标签:
cassandra
cassandra-3.0
【解决方案1】:
您的 cassandra 节点似乎没有在内部进行 gossip 或某些节点在内部没有正确连接。请在 cqlsh 中启用跟踪并尝试相同的操作。此外,在运行查询之前运行 nodetool describecluster。
【解决方案2】:
是的,这绝对是个问题。除非达到所需的一致性,否则写入不会成功。
在您拥有RF:3 的情况下,听起来应用程序正在以LOCAL_QUORUM 的一致性进行写入,因此必须至少有 2 个副本确认写入操作才能成功。
这不是您的代码的问题。您需要调查为什么节点没有响应或关闭,因此没有足够的副本响应写入请求。干杯!