我现在创建了一个有 2 个节点的集群。我想向它添加另一个节点,以便它成为一个 3 节点集群。我已经阅读了 datastax 的文档。我想知道,当我添加第3个节点时,是否需要更改前2个节点的token值,是否需要重新启动集群?
另外我想知道除了基本设置(监听地址,rpc地址,token,seeds)之外,我是否需要更改其他任何内容。
最佳答案
如果您在不更改 token 的情况下向 2 节点集群添加一个新节点,您最终将得到一个节点拥有 50% 的 key ,而 2 个节点各拥有 25%。相反,当您将新节点联机时,您应该指定初始 token (在 cassandra.yaml 中)。然后,您应该使用 nodetool move
移动节点 2 上的 token ,然后使用 nodetool cleanup
删除任何不需要的数据。
您应该使用以下标记:
Node 1: 0 -- should already be set
Node 2: 56713727820156407428984779325531226112 -- will require the move
Node 3: 113427455640312814857969558651062452224 -- will be set using initial token
关于java - 在现有的 Cassandra 集群中添加节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11719348/