nodetool修复修复下一个节点吗?

假设我们有一个具有以下环的Cassandra集群: A -> B -> C -> D (没有虚拟节点),我们假设所有的数据存储在RF=2 。 现在让我们说, B死了,留给我们下面的环A -> C -> D 这意味着C将需要A的主要范围的复制品, DB的主要范围的复制品。 ( B的主要范围不需要复制到C因为C已经拥有一个副本)。

我的问题如下:

  • 如果我在C上运行nodetool repair ,它会得到A的主要范围的副本,但它会将B的主要范围的副本stream到D
  • 如果我运行nodetool repair -prA会将它的主要范围streamC
  • 如果我运行nodetool repair -prC会将B的主要范围stream到D

这个问题被问到,并在StackOverflow上回答, 有关nodetool修复的说明-pr 。


为了回答这个问题,答案是:

  • 是。
  • 是。
  • 是。