在Cassandra环中添加新节点而不更改环的令牌
我正在生产中使用在Cassandra环中添加新节点而不更改环的令牌,cassandra,datastax,datastax-enterprise,cassandra-3.0,Cassandra,Datastax,Datastax Enterprise,Cassandra 3.0,我正在生产中使用Cassandra 3.9,我想在环中再添加一个节点。那么,有没有一种方法可以在环中添加新节点而不修改环其余部分的令牌? 仅供参考,我在我的环中使用RandomPartitioner,而不是使用vnodes。通常,在单个令牌集群中添加节点时,您将随后执行nodetool移动,以将现有节点移动到新令牌,否则您的令牌所有权将不平衡 但是,令牌移动可能是资源密集型的。想想你的最终目标是什么。如果您最终打算将集群的大小增加一倍,那么您可以为现有节点数量的两倍计算令牌。然后,您将获得中间点
Cassandra 3.9
,我想在环中再添加一个节点。那么,有没有一种方法可以在环中添加新节点而不修改环其余部分的令牌?
仅供参考,我在我的环中使用RandomPartitioner,而不是使用vnodes。通常,在单个令牌集群中添加节点时,您将随后执行
nodetool移动
,以将现有节点移动到新令牌,否则您的令牌所有权将不平衡
但是,令牌移动可能是资源密集型的。想想你的最终目标是什么。如果您最终打算将集群的大小增加一倍,那么您可以为现有节点数量的两倍计算令牌。然后,您将获得中间点的令牌值,您可以在这些新令牌处添加新节点。因此,现有节点不需要移动令牌所有权
只有当您的最终目标是将集群的大小增加一倍时,才会这样做。这不是默认情况下给出的吗?一致性散列就是要在我使用的
随机分区器中@Bartoszbiliki处保留这个需求。因此,您需要定义令牌。如果您使用的是3.9,为什么要标记Cassandra 2.0/2.1?