失败后跨数据中心同步

zujrkrfu  于 2021-06-10  发布在  Cassandra
关注(0)|答案(1)|浏览(396)

有谁能解释一下在这些场景中会发生什么,特别是为什么在第二个场景中数据从未同步。
简介:
2个dcs,密钥空间,网络拓扑策略{dc-1:3,dc-2:3}
所有写入和读取都使用cl=local\u quorum
“write x to dc-2”表示我使用cqlsh连接到dc-2中的某个cassandra示例并执行一些写操作。
“dc-1死亡”意味着所有cassandra示例都已终止(kubectl delete pod)
场景1-我理解
dc-1模具。
将x写入dc-2
dc-1复活了
读取dc-1几秒钟后返回正确结果
这就是我们想要的行为——数据最终是同步的
场景2
dc-1模具。
将x写入dc-2
dc-2模具
dc-1复活了
读取dc-1返回过时数据
dc-2复活了
dc-1上的read在长时间后返回过时的数据
在这种情况下,数据是否会在整个dc中再次同步?

yx2lnoni

yx2lnoni1#

对于这两种情况,您需要在两个dc上的每个节点上运行nodetool repair。但是,cassandra节点存储特定时间的提示,默认时间为3小时。修复确保了cassandra集群上数据的一致性。

相关问题