无法将标记数从256更改为1

时间:2015-08-24 21:31:00

标签: cassandra

我有一个3节点的cassandra集群,在我的种子上,num_tokens设置为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并删除tokens字段中的所有内容,但我无法做到。如何更改此属性?

1 个答案:

答案 0 :(得分:2)

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

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

python -c 'print [str(((2**64 / number_of_tokens) * i) - 2**63) for i in range(number_of_tokens)]'

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

  • 注释掉num_tokens
  • 设置令牌分配initial_token
  • 离开auto_bootstrap:true

步骤3 - 删除以下目录。这将确保完全清除所有内容。

  • data_file_directories(路径位于cassandra.yaml配置文件中)
  • commitlog
  • saved_caches

步骤4 - 重新创建上面的目录并确保Cassandra具有完全权限。

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

Original post here