Cassandra 无法将令牌数从256更改为1

Cassandra 无法将令牌数从256更改为1,cassandra,Cassandra,我有一个3节点的cassandra集群,在我的种子上,num_标记被设置为256。我试图将其设置为1或注释掉…但每次启动cassandra时,我都会出现以下错误: ERROR 21:28:08 Fatal configuration error org.apache.cassandra.exceptions.ConfigurationException: Cannot change the number of tokens from 256 to 1 我还做了一个rm-rf/var/l

我有一个3节点的cassandra集群,在我的种子上,num_标记被设置为256。我试图将其设置为1或注释掉…但每次启动cassandra时,我都会出现以下错误:

    ERROR 21:28:08 Fatal configuration error
org.apache.cassandra.exceptions.ConfigurationException: Cannot change the number of tokens from 256 to 1
我还做了一个
rm-rf/var/lib/cassandra/*


我还试图进入cql中的
system.local
,删除
令牌
字段中的所有内容,但我无法做到。如何更改此属性?

请按照以下步骤解决此问题:

步骤1-计算节点的令牌(用有效值替换所有出现的“数量\u of \u令牌”):

步骤2-重新配置cassandra.yaml中的令牌属性:

  • 注释掉num_标记
  • 设置令牌分配初始\u令牌
  • 离开自动引导:true
步骤3-删除以下目录。这将确保其所有内容物被彻底清除

  • 数据文件目录(路径在cassandra.yaml配置文件中)
  • 委员会日志
  • 已保存的缓存
第4步-重新创建上面的目录,并确保Cassandra拥有完全权限

步骤5-通过启动DSE再次引导节点


因为您正在清理您的
/var/lib/cassandra
目录,所以我假设您在这个集群中没有有价值的数据(或者至少有其他副本可以从中传输)。如果是这种情况,请确保同时删除
数据
目录和
提交日志
目录,并为节点提供集群中当前节点的种子。节点应使用新配置进行引导。
python -c 'print [str(((2**64 / number_of_tokens) * i) - 2**63) for i in range(number_of_tokens)]'