【发布时间】:2022-08-10 22:58:01
【问题描述】:
我们目前每个周末都在每个节点上使用 -pr 选项运行 nodetool repair,并且正如文献建议的那样,每个月在所有节点上使用 full 选项运行一次修复。
使用每个数据中心一个节点的完整选项运行修复是否足够?
目前在具有 2 个数据中心的单个区域中的 AWS Ec2 实例上运行。
我们目前每个周末都在每个节点上使用 -pr 选项运行 nodetool repair,并且正如文献建议的那样,每个月在所有节点上使用 full 选项运行一次修复。
使用每个数据中心一个节点的完整选项运行修复是否足够?
目前在具有 2 个数据中心的单个区域中的 AWS Ec2 实例上运行。
最好在整个集群中一次运行一个节点 nodetool repair --partitioner-range(或简写为 -pr)。此外,最好在https://dba.stackexchange.com/questions/ask?tags=cassandra 上发布与管理/操作相关的问题,因为https://stackoverflow.com/questions/ask?tags=cassandra 是针对与开发相关的问题。谢谢!
here 是另一篇解释维修的文章。
【讨论】:
简短的回答是不,即使您一直在所有节点上定期运行nodetool repair -pr,您也无法在单个节点上运行完整修复。
这是一个例子。假设您有 5 个节点并且 RF = 3。这 3 个副本将被划分为 5 个节点。另一种说法是每个节点将拥有 3/5 的数据。在单个节点上运行nodetool repair -full 将无法修复所有数据。因此,您必须在所有节点上运行完全修复。
【讨论】: