在netstats中还原副本计数消息

时间:2015-04-27 10:39:53

标签: cassandra cassandra-2.0

我不清楚netstats中显示的还原副本计数问题。我在nodetool netstats输出

中收到以下消息

还原副本计数xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxxxxx 还原副本计数YYYYYYYYYY-yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy

我在存在以下节点的同一组上执行了nodetool removenode。发布,这似乎即将到来。即使我运行修复,问题也无法解决!!

有关解决此问题必须采取的措施的任何指示。此外,我添加的新节点并不拥有来自该节点的大部分数据。即使我运行清理,这个节点似乎占用了大部分组数据。

1 个答案:

答案 0 :(得分:1)

从群集中删除节点时,Cassandra会调用以下代码

/**
 * Called when an endpoint is removed from the ring. This function checks
 * whether this node becomes responsible for new ranges as a
 * consequence and streams data if needed.
 *
 * This is rather ineffective, but it does not matter so much
 * since this is called very seldom
 *
 * @param endpoint the node that left
 */
private void restoreReplicaCount(InetAddress endpoint, final InetAddress notifyEndpoint)

然后确定它将获取的每个键空间的哪些部分,然后启动流式传输以获取这些范围的数据(基本上,确保您保留数据的RF副本,对于节点上存在的所有数据你删除了。)

它将 nodetool netstats 中的流与其他流式传输计划公开,因此您可以看到这些流的进度(与系统中可能发生的其他流分开,例如反熵修复或引导流)。