我们最近在我们的一个Cassandra节点(其复制因子为3的5个Cassandra 2.2集群)中出现磁盘故障.在该节点上执行完整修复大约需要一周或更长时间.每个节点包含3/5的数据,并且在所有节点上执行nodetool修复修复了3/5的令牌范围.现在它已被修复,它很可能会更快地修复,因为它进行了增量修复.我想知道使用nodetool repair -pr在所有节点上执行定期修复是否是一个好主意(我们在2.2,我认为增量修复在2.2中是默认的).
我认为这是一个好主意,因为如果定期执行它将需要更少的时间来修复,因为它只需要修复未修复的SStables.我们也可能有过这样的情况:节点可能已经关闭了超过提示的切换窗口,我们可能没有做任何事情.
是的,它是运行预定增量修复的良好做法.足够频繁地运行修复,以便在达到gc_grace_seconds设置中指定的时间之前修复每个节点.