如何有效地管理cassandra初始令牌?

时间:2012-07-29 06:03:24

标签: cassandra

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

或者是否有更有效的方法来管理它?

1 个答案:

答案 0 :(得分:8)

如果您正在寻找处理此类任务的最佳做法,请查看专用于token strategy的Cassandra 1.0文档的此部分。

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

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

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