此问题适用于Cassandra 2.2
我很尴尬地说,我仍然不明白何时应该运行nodetool repair
,或者更准确地说明哪些节点。
到目前为止,我了解为了确保正确处理删除,我应该以低于GC_GRACE_SECONDS
的频率运行修复。所以这很酷。
Q值。如果我有一个9个节点的集群,复制因子为3,我会运行什么类型的修复?更重要的是,我是在每个节点上运行修复,还是只运行一个节点?
Q值。如果我有多个数据中心,这是否会改变我运行维修的方式。我是否必须在每个DC中运行它们,还是可以从一个DC中的一个节点协调?
我希望这是一个微不足道的问题,有人可以告诉它是怎么回事。
答案 0 :(得分:2)
nodetool repair命令可以在指定节点上运行 如果未指定节点,则在所有节点上。启动的节点 修复成为操作的协调节点。
如果未指定节点,则它在所有节点上运行。 默认情况下,cassandra将使用Sequential Repair。
如果仅使用nodetool repair
,则无论数据中心如何,它都将在所有节点上运行。
答案 1 :(得分:0)
这是recommendation from datastax。
经常运行修复,以便之前修复每个节点 达到gc_grace_seconds设置中指定的时间。删除 如果满足此要求,则在群集中正确处理数据。