gpt4 book ai didi

cassandra - 在同一数据中心的节点上运行 'nodetool rebuild' 时会发生什么?

转载 作者:行者123 更新时间:2023-12-04 15:15:33 25 4
gpt4 key购买 nike

这可能看起来很愚蠢,但我删除了其中一个节点上数据目录 (/var/lib/scylla/data/*) 中的所有内容。现在,为了恢复数据,我可以运行 nodetool repairnodetool rebuild

我对重建感到困惑。我读到它主要在创建新数据中心时使用。因此,就我而言,如果我在现有集群中的节点上运行 nodetool rebuild,会发生什么情况?它会简单地从它负责的所有 token 范围的副本中复制数据吗?或者它会以某种方式扰乱 token 范围并导致数据丢失吗?

我了解 nodetool repair 将创建一致的数据副本。但是假设我对一致性没有严格的要求,只是想尽快把数据带回我的节点上。 repairrebuild 哪个选项更安全。

最佳答案

这取决于节点的状态。

如果您删除了包括系统表在内的所有内容,该节点将尝试自动引导但会失败,因为它不能在没有 replace_address 标志的情况下重新加入。出于这个原因,您将无法运行修复,因为节点不会启动。

只有在使用 auto_bootstrap: false 将节点添加回集群时,您才能运行 rebuild。这是有问题的,因为在这种状态下,节点将接受读取请求,即使它没有数据。这意味着如果读取以 ONELOCAL_ONE 一致性完成,则不会返回任何数据。干杯!

关于cassandra - 在同一数据中心的节点上运行 'nodetool rebuild' 时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64385080/

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