gpt4 book ai didi

cassandra - 为什么在 cassandra 中的 nodetool cleanup 后丢失了一些数据

转载 作者:行者123 更新时间:2023-12-02 23:27:54 25 4
gpt4 key购买 nike

我们向数据中心添加了一个新节点,然后根据Add new node to existing cluster in cassandra运行nodetool cleanup 。但清理完成后,我们注意到丢失了一些数据。

可能是什么原因?

最佳答案

是的,了解 nodetool cleanup 是一种潜在的破坏性工具非常重要。您的集群需要处于完全修复状态(之前定期成功运行 nodetool Repair)。

当您向集群添加新节点时,每个节点负责的 token 范围都会进行调整,并降低每个节点的 token 范围。这使得原始节点上的数据不再由它们负责。这是设计使然。

这个想法是,如果由于某种原因节点添加过程失败并且您必须将集群保留其原始大小,那么数据仍然存在。但是,如果您不能保证集群首先处于完全修复的状态并且运行了清理,则可能并非所有副本都已到达正确的节点。但就像 nodetool getendpoints 一样,引导进程会假设它是这样的。

因此,在运行 nodetool cleanup 之前,确保在集群上定期运行 nodetool Repair 非常重要。

关于cassandra - 为什么在 cassandra 中的 nodetool cleanup 后丢失了一些数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41872658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com