【问题标题】:code=1200 error after upgrading Cassandra to 3.11.3将 Cassandra 升级到 3.11.3 后出现 code=1200 错误
【发布时间】: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% 加起来。
  • 只是好奇,但查询是什么?

标签: cassandra cassandra-3.0


【解决方案1】:

对于 cmets 来说太长了...

有几件事可能会导致这种情况。

1 - 最大的分区有多大?我会用以下方法检查:

bin/nodetool tablestats yourKeyspaceName.ablog | grep "partition maximum"

如果返回的结果是两位数 GB 范围内的数据,那么您就有麻烦了。

2 - 有墓碑吗?您可以使用类似的命令进行检查:

bin/nodetool tablestats yourKeyspaceName.ablog | grep "tombstones"

如果返回的数字是 3 位或 4 位数字,那可能是个问题。

3 - 降级到 3.11.2 。 3.11.2 和 3.11.3 使用相同的 SSTable 格式。这只是切换二进制文件的问题。下载/解压 3.11.2,把 conf 目录从 3.11.3 目录移进去,应该没问题。

我只建议这样做,因为您可能会遇到CASSANDRA-14672

4 - LOCAL_QUORUM w/RF=2 正如我在 cmets 中提到的,在 RF

QUORUM = (RF / 2) + 1 = (2 / 2) + 1 = 2(副本需要响应)

说真的,这样做你并没有获得任何东西。仅当您的 RF 为 3 或更高时才有意义:

QUORUM = (RF / 2) + 1 = (3 / 2) + 1 = 2(副本需要响应)

实际上,使用 RF=2 在 QUORUM 上查询会伤害您,因为您不能容忍单个节点出现故障。

【讨论】:

  • 感谢您的帮助。我检查了我所有的表,最大的是 0.96GB,对于墓碑,我只看到 1 或 NaN。我觉得降级是我唯一的选择。
  • @RuthBurns 900+MB 的分区可能会出现问题,如果您尝试一次查询所有分区。也许在最后用LIMIT 1 试试你的查询?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-09-07
  • 2020-01-19
  • 2014-10-06
  • 1970-01-01
  • 2021-12-16
  • 2018-12-05
  • 2018-11-28
相关资源
最近更新 更多