Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在单个数据中心运行 3 个节点的 Cassandra 2.2.8 集群。复制因子为 3。
我不得不从旧备份中恢复其中一个节点。恢复备份后,我进行了全面修复以同步最新数据,但恢复的节点的数据似乎比其他节点少:
如何强制数据同步?
一个想法可能是在进行全面修复时检查 system.log。那边维修有什么错误吗?如果是这样,请调试错误并修复它们。
否则,一项预检查是在恢复的节点上运行 nodetool verify以查看修复后是否有任何损坏的 sstable?
如果没有任何问题,则有很多可能性,并且如果没有更多关于集群的知识,就很难进行调试。Cassandra 也无法直接了解所有数据是否一致。
也许如果你知道你已经放了多少个对象,你可以运行cqlsh命令来统计所有数据表,看看它们是否匹配,看看你是否真的丢失了任何数据?