我有一个运行 2.0.9 版的 cassandra 集群。Nodetool 从一开始就没有运行过(因为它没有被要求安排这些修复)。每个节点都有大约 8GB 的数据。这对我来说似乎相当小。当我尝试运行 nodetool repair 时,它似乎需要很长时间(2 天后未完成)。
我没有看到任何进展。我一直在阅读线程,他们告诉您检查 compactionstats 和 netstats 但那些表明没有流量。但是 nodetool repair 命令永远不会退出。这对我来说似乎不正常。我收到有关系统密钥空间正在修复并且正常的消息。但是,我们放入其中的实际数据不会返回任何内容。所有节点都已启动。我在 system.log (CentOS 6 BTW) 中检查了错误,但没有任何错误。我已经启动了一个命令来检查命令和响应的数量是否仍在增加(就是这种情况),但是我想知道这是否可能来自其他原因,或者这是否与 nodetool 修复直接相关。似乎没有任何 IO/net 饱和。所以昨天我又开始用工具 range-repair.py 进行修复。过去 12 小时没有额外的输出。最后的输出是:
INFO 2015-11-01 20:55:46,268 repair line: 296 : [1/256] repairing range (-09214247901397780884, -09166106147119295777) in 100 steps for keyspace <all>
这种修复需要永远(或只是修复被挂起)的主要问题是我们想要升级 cassandra 以进行应用程序部署。该程序说首先进行nodetool修复。在开始升级之前这真的有必要吗?也许 nodetool 工作效率更高(您现在还有一个增量选项)。
谁能在这里帮助我?提前非常感谢!