我正在看cassandra集群,但行政工作似乎相当高。 有什么办法可以configurationCassandra自动重新平衡节点,因为新机器添加,有些被closures或暂时不可用等?
Cassandra实际上会在添加新节点时自动重新平衡节点; 这只是一个非常复杂的方法。 它挑选具有最高“负载”的节点(参见节点工具环输出),并将新节点放置在环上以占据最重负载节点工作的一半。 这不会对整个群集执行重新平衡,但它确实可以最小化群集扩展所需的stream式负载。 如果您在每次扩展时几乎使群集的大小加倍,则这种自动均衡策略往往效果最佳。
如果你需要更多细微的重新平衡,你可以用“nodetool move”命令来移动一个节点在环上的位置(这实际上是一个退役和重新添加节点的包装)。
还没有,因为令牌分配目前是静态的。 您可以select使用http://wiki.apache.org/cassandra/Operations#Ring_management编写脚本,或者使用自动引导function将集群的大小加倍。 目前,这两个选项目前都没有什么吸引力,但只要您有足够的时间迁移数据,添加节点并移动令牌就不是件可怕的事情。
有一点要注意nodetool loadbalance是不会做你的想法。