【问题标题】:Adding new node to Cassandra cluster向 Cassandra 集群添加新节点
【发布时间】:2015-09-08 10:06:13
【问题描述】:

我有一个 4 节点集群,将在两天内添加一个额外的节点。我们没有使用 vnode。

我只是想知道完成后重新平衡集群的最佳方法。我是否只是启动新节点然后启动 nodetool 移动?

或者我是否关闭每个节点,更改每个节点的 initial_token 值(使用其中一个生成器为我计算值)然后启动每个节点?

我只想知道从命令行执行此操作的最简单方法。新节点已经安装了 Cassandra,因为它最初是一个非生产服务器,我将删除节点上的数据并相应地更改新集群的配置文件,它现在将成为其中的一部分,只是不确定另一个步骤。

【问题讨论】:

    标签: cassandra datastax-enterprise


    【解决方案1】:

    从这个页面Adding or replacing single-token nodes,最简单的机制是启动新节点,它的初始令牌在 cassandra.yaml 中为空。这将使集群“拆分最重负载节点的令牌范围并将新节点定位在那里”。这不会给你一个平衡的集群。

    如果你想要一个平衡的集群,那么你必须经历你提到的 nodetool 移动、节点重启、nodetool 清理过程。

    【讨论】:

    • 是不是说如果我有N个节点,再增加N个节点,就可以平衡?
    • 如果你将集群的大小翻倍(没有 vnodes),那么你可以使用nodetool ring 获取每个节点的 initial_token。如果集群是平衡的,则令牌将均匀分布。将每个令牌范围一分为二,并将中点令牌分配给新节点。这将提供一个由 2N 个节点组成的平衡集群。
    猜你喜欢
    • 2014-05-14
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 2016-08-16
    • 1970-01-01
    • 2018-09-19
    • 1970-01-01
    • 2014-11-15
    相关资源
    最近更新 更多