我不清楚netstats中显示的还原副本计数问题。我在nodetool netstats输出
中收到以下消息还原副本计数xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxxxxx 还原副本计数YYYYYYYYYY-yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
我在存在以下节点的同一组上执行了nodetool removenode。发布,这似乎即将到来。即使我运行修复,问题也无法解决!!
有关解决此问题必须采取的措施的任何指示。此外,我添加的新节点并不拥有来自该节点的大部分数据。即使我运行清理,这个节点似乎占用了大部分组数据。
答案 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 中的流与其他流式传输计划公开,因此您可以看到这些流的进度(与系统中可能发生的其他流分开,例如反熵修复或引导流)。