我已经阅读了我能找到的相关文档,但我仍然有疑问。
我读到的
来自http://wiki.apache.org/cassandra/Operations#Moving_nodes
如果您将节点添加到集群中,您的环将不平衡,获得完美平衡的唯一方法是为每个节点计算新令牌并使用 nodetool move 命令手动将它们分配给每个节点。
如果需要通过不均匀数量的节点来增加容量,则必须为整个集群重新计算令牌,然后使用 nodetool move 将新令牌分配给现有节点。使用新的令牌分配重新启动所有节点后,运行 nodetool cleanup 以删除所有节点上未使用的密钥
但我不清楚这些事情的顺序。
你能解释一下如何在以下场景中做到这一点吗?
- 我使用的是 cassandra 1.1.9,所以没有使用虚拟节点。
- 我有一个有 5 个节点的集群环,每个节点拥有 20%
- 他们的代币是
- 0
- 34028236692093846346337460743176821145
- 68056473384187692692674921486353642291
- 102084710076281539039012382229530463436
- 136112946768375385385349842972707284582
我想添加 2 个额外的节点。
我必须遵循哪些步骤?我知道我应该安装和配置 cassandra,使用原来的 5 作为种子,并计算它们的新令牌,但是我应该按照什么顺序移动数据nodetool move
?是一次一个吗?
当我移动第一个数据时,数据会发生什么?是否随时可用?
我应该在将原来的 5 个节点移动到他们的新令牌之前启动两个新节点吗?
一步一步的指南将是理想的。
请注意,我需要在 1.2 版之前进行