Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Cassandra环中添加新节点而不更改环的令牌_Cassandra_Datastax_Datastax Enterprise_Cassandra 3.0 - Fatal编程技术网

在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?