5

我是新的 cassandra 用户。我知道有初始令牌配置以及如何生成它。问题是,如果我有一个包含 x 个节点的现有集群,并且我想添加额外的节点(一个或多个),我应该将所有节点重新配置为新令牌(根据新生成的值)吗?

还是有更有效的方法来管理这个?

4

1 回答 1

8

如果您正在寻找处理此类任务的最佳实践,请查看 Cassandra 1.0 文档中专门介绍令牌策略的这一部分。

您的选项的缩短版本,来自文档:

  • 通过将集群大小增加一倍来增加容量—— [..]节点可以保留其现有的令牌分配,并且为新节点分配将现有令牌范围一分为二(或三等分)的令牌。
  • 重新计算所有节点的新令牌并移动节点- [..]您将不得不重新计算整个集群的令牌。现有节点必须使用 nodetool move 分配其新令牌。
  • 一次添加一个节点并将 initial_token 保留为空—— [..]拆分最重负载节点的令牌范围,并将新节点放入该位置的环中。[..]不会产生完美平衡的环,但会缓解热点。关联

如果您正在寻找管理解决方案Priam(来自 Netflix)可能值得一看。它是开源和 Apache 许可的,但需要一些配置,并且可能只值得为更大的集群投入 [时间]。

于 2012-07-30T06:41:15.633 回答