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

Unable to add another node to existing node to form a cluster. Couldn't change num_tokens to vnodes

我已经在 Amazon.when 的两个单独节点上安装了 cassandra 我正在尝试配置节点以形成节点集群。我收到以下错误。

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

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

listen_address 和 rpc_address 至:私有 IP 地址

seeds : Public Ip [弹性IP地址]

num_tokens: 256

此消息通常在 num_tokens 节点被 bootstrapped 后更改时出现。

解决方法是:

  1. 在所有节点上停止 Cassandra
  2. 删除数据目录(包括数据文件、提交日志和saved_caches)
  3. 仔细检查 num_tokens 是否设置为 256initial_token 被注释掉并且 auto_bootstrap 在 cassandra.yaml 中设置为 true
  4. 在所有节点上启动 Cassandra

这将擦除您现有的集群并导致节点再次 bootstrap 从头开始​​。

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