0

我在单个数据中心运行 3 个节点的 Cassandra 2.2.8 集群。复制因子为 3。

我不得不从旧备份中恢复其中一个节点。恢复备份后,我进行了全面修复以同步最新数据,但恢复的节点的数据似乎比其他节点少:

在此处输入图像描述

如何强制数据同步?

4

1 回答 1

0

一个想法可能是在进行全面修复时检查 system.log。那边维修有什么错误吗?如果是这样,请调试错误并修复它们。

否则,一项预检查是在恢复的节点上运行 nodetool verify以查看修复后是否有任何损坏的 sstable?

如果没有任何问题,则有很多可能性,并且如果没有更多关于集群的知识,就很难进行调试。Cassandra 也无法直接了解所有数据是否一致。

也许如果你知道你已经放了多少个对象,你可以运行cqlsh命令来统计所有数据表,看看它们是否匹配,看看你是否真的丢失了任何数据?

于 2017-10-09T21:37:50.040 回答