无法将另一个节点添加到现有节点以形成群集。无法将num_tokens更改为vnodes

时间:2016-05-12 15:46:34

标签: amazon-ec2 cassandra datastax-enterprise

我已经在亚马逊上的两个单独节点上安装了cassandra。当我尝试配置节点以形成节点集群时。我收到以下错误。

错误[main] 2016-05-12 11:01:26,402 CassandraDaemon.java:381 - 致命配置错误 org.apache.cassandra.exceptions.ConfigurationException:无法将标记数从1更改为256.

我在cassandra.yaml文件中使用这些设置

listen_address和rpc_address to:私有IP地址

种子:公共IP [弹性IP地址]

num_tokens:256

1 个答案:

答案 0 :(得分:1)

在节点被引导后更改num_tokens时,通常会出现此消息。

解决方案是:

  1. 在所有节点上停止Cassandra
  2. 删除数据目录(包括数据文件,commitlog和saved_caches)
  3. 仔细检查num_tokens是否已设置为256initial_token是否已注释掉,而auto_bootstrap在{cassandra.yaml
  4. 中设为true
  5. 在所有节点上启动Cassandra
  6. 这将擦除现有群集并导致节点再次从头开始引导。

    在数据中心引导后,Cassandra不支持在vnode和静态令牌之间进行更改。如果您需要在已经运行的集群中从vnode更改为静态令牌,反之亦然,则需要使用新配置创建第二个数据中心,将数据流式传输,然后解除原始节点。