Cassandra 3.x-将3个节点添加到6个节点集群

时间:2018-07-17 15:18:11

标签: cassandra cassandra-3.0

我希望将3个节点添加到现有的6个节点的cassandra集群中,但是由于令牌分配,我对如何最好地做到这一点感到困惑。

当前,现有的6节点群集未使用vNode(无法更改),并且正在使用RandomPartitioner,因此,根据令牌生成器添加了当前令牌。问题在于,将3个节点添加到6个节点的群集中意味着重新计算的令牌将使新节点7具有与当前节点5相同的令牌。

这里的最佳做法是什么?如果我在现有节点上执行一个nodetool来添加重新计算的令牌,则使用正确的配置和令牌来引导新节点。还是我添加没有令牌的新节点,并在引导后启动,然后nodetool在所有节点中移动并添加新计算的令牌,从第二个节点开始(因为第一个节点在RandomPartitioner中始终为0)。

我已经读了很多书,但似乎找不到解决这种情况的方案。而且我不能添加3个以上的节点,总而言之...

任何帮助都收到了!

1 个答案:

答案 0 :(得分:0)

您需要为整个集群重新计算令牌,并将新令牌分配给现有节点。可以在here中找到详细说明。由于您要对整个群集进行重新计算,因此您不应遇到正在讨论的问题。

我认为最好的解决方案是在add a new DC上使用vnodes和Murmur3。复制数据并将所有客户端移至新的DC之后,您将decommission the old DC