【发布时间】:2017-06-12 13:37:14
【问题描述】:
我有一个多 DC(AWS 区域)Cassandra 集群。客户端程序连接到具有 4 个节点且 RF=2 的区域之一。但是,当该 DC/区域中只有一个节点出现故障时,客户端会不断收到此错误:
(com.datastax.driver.core.exceptions.UnavailableException:没有足够的副本可用于一致性 LOCAL_QUORUM 查询(需要 2 个但只有 1 个存活))
这里有更多细节:
- 客户端程序最初是 Jmeter。但是我用 cqlsh 验证了,得到了同样的错误
- 错误(见上文)大约有 50% 的时间发生,并且发生在读取和写入中
- 因为有4个节点,RF=2,所以相信LOCAL_QUOROM=2,意思是 本地环最多可以容忍 2 个节点失败
- 但只有一个停机。我使用“nodetool status”验证了
- 其他一致性级别运行良好(例如,2、3、QUORUM)
- 我们在集群中使用 v-node
我很难理解发生了什么:本地环应该有完整的数据副本。 RF=2 应该给我足够的缓冲来对抗一个节点。出了什么问题?
【问题讨论】:
标签: cassandra