Cassandra 验证卡桑德拉数据中心之间的数据一致性

Cassandra 验证卡桑德拉数据中心之间的数据一致性,cassandra,distributed-system,data-consistency,nosql,Cassandra,Distributed System,Data Consistency,Nosql,我维护一个带有2个数据中心的cassandra集群。现在,我将在现有集群中添加新的数据中心。重建数据后,如何验证新数据中心中数据的一致性?从每个DC读取本地仲裁,并进行最直接的比较 修复从压缩任务中的sstables构建分区哈希,并比较分区范围,这比单独读取数据更有效。你可以从代码中提取这一部分来构建一个工具来做同样的事情。。。或者,如果您可以运行完全修复,而不是增量修复。它会记录所发现的差异。这是什么意思?例如,如果数据复制正确?如何确保旧DC中的数据完全复制到新DC中?两个建议都很有趣,我猜

我维护一个带有2个数据中心的cassandra集群。现在,我将在现有集群中添加新的数据中心。重建数据后,如何验证新数据中心中数据的一致性?

从每个DC读取本地仲裁,并进行最直接的比较


修复从压缩任务中的sstables构建分区哈希,并比较分区范围,这比单独读取数据更有效。你可以从代码中提取这一部分来构建一个工具来做同样的事情。。。或者,如果您可以运行完全修复,而不是增量修复。它会记录所发现的差异。

这是什么意思?例如,如果数据复制正确?如何确保旧DC中的数据完全复制到新DC中?两个建议都很有趣,我猜第一个建议取决于数据集的大小,第二个建议听起来像是一个有趣的项目运行完全修复将是IO密集型任务。还有其他建议吗?我听说我们可以用spark job来做这件事。有什么想法吗?一份星火工作也可以读取所有数据。区别在于读取所有数据后,修复作业将只发送一个merkle树散列数据进行比较,而spark将流式传输所有数据进行比较。但如果你想知道细节,一份spark工作或一份在当地大学quorum阅读的脚本会给你更多细节。