2017-09-25 55 views
0

我正在一个数据中心运行Cassandra 2.2.8集群中的3个节点。复制因子为3.卡桑德拉数据同步和全面修复

我不得不从旧备份恢复其中一个节点。将备份恢复后,我跑了完全修复,以同步的最新数据,但似乎恢复的节点比别人更少的数据:

enter image description here

我怎么能强迫数据同步?

+0

在拓扑更改+修复后,您是否运行了'nodetool cleanup'? –

回答

0

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

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

如果没有问题,就会有很多可能性,如果没有更多关于群集的知识,就很难进行调试。 Cassandra对所有数据是否一致都没有直接的认识。

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