【发布时间】:2018-09-14 23:28:53
【问题描述】:
我刚刚继承了一个具有 3 个节点的系统,2 个在一个数据中心,复制因子为 2,1 个在第二个数据中心,复制因子为 1。系统从 Cassandra 3.9 升级到 Cassandra 3.11.3。由于升级cqlsh中的任何查询都会返回错误
ReadTimeout: Error from server: code=1200 [Coordinator node timed out waiting for replica nodes' responses] message="Operation timed out - received only 0 responses." info={'received_responses': 0, 'required_responses': 2, 'consistency': 'LOCAL_QUORUM'}
谁能建议可能导致此问题的原因或我应该从哪里找出问题?
编辑: 我以 1 的一致性重试了我的查询,但仍然收到错误
ReadTimeout: Error from server: code=1200 [Coordinator node timed out waiting for replica nodes' responses] message="Operation timed out - received only 0 responses." info={'received_responses': 0, 'required_responses': 1, 'consistency': 'ONE'}
【问题讨论】:
-
您是否通过
nodetool status看到任何问题?此外,在 LOCAL_QUORUM 查询 RF 为 2 的 DC 也不是一个好主意。毕竟,2 的“QUORUM”是...... 2。 -
此外,3.11.3 有一个错误,该错误基本上会阻止运行 DELETE 操作后的读取 (issues.apache.org/jira/browse/CASSANDRA-14672)。这对我们来说是一场表演。尝试回滚到 3.11.2,看看是否有帮助。
-
@Aaron nodetool status 显示所有 3 个节点都已启动且正常。唯一看起来有点奇怪的是所有人都声称拥有 100%,但他们的负载不同。 219.15 GiB、227.37 GiB、221.39 GiB。
-
负载不同是正常的。事实上,如果他们曾经相同,我会感到震惊。 100% 的所有权是基于 RF 和令牌范围百分比的计算。由于您的数据中心有 2 和 1 个节点,RF 为 2 和 1,100% 加起来。
-
只是好奇,但查询是什么?