单令牌节点添加到集群(十一)

单令牌节点添加到集群

在单令牌体系结构群集中添加节点的步骤,而不是vnodes。

要向群集添加容量,分阶段引入新节点或添加整个数据中心。使用以下方法之一:

  • 通过将簇大小加倍来增加容量:分配令牌时,通过加倍(或三倍或四倍)节点数来增加容量并不那么复杂。使用这种方法,现有的节点保留现有的令牌分配,并且新的节点被分配令分号(或三等分)现有的令牌范围的令牌。

  • 为非统一数量的节点添加容量:使用此方法增加容量时,必须重新计算整个群集的令牌,并将新令牌分配给现有节点。

注意:对于DataStax Enterprise群集,可以使用OpsCenter 重新平衡群集。

步骤

1.使用令牌生成工具根据您的扩​​展策略计算节点的 令牌。

2.安装Cassandra并在每个新节点上配置Cassandra。

3.如果Cassandra自动启动(Debian),请停止节点并清除数据。

4.在每个新节点上配置cassandra.yaml:

  • auto_bootstrap:如果为false,则将其设置为 true。
    该选项未在默认的cassandra.yaml配置文件中列出 ,默认为true。

  • CLUSTER_NAME

  • listen_address / broadcast_address:通常留空。使用其他Cassandra节点用来连接到新节点的IP地址或主机名。

  • endpoint_snitch

  • initial_token:根据您的令牌计算设置。

    警告:如果这个属性没有任何价值,Cassandra会为该节点分配一个随机的令牌范围,并导致严重的不平衡环。

  • seed_provider:确保新节点在现有集群中至少列出一个种子节点。
    种子节点不能引导。确保新节点没有在-seeds列表中列出。不要使所有节点都设置种子节点。见节间通讯(gossip)。

  • 更改新节点的所有非默认设置以匹配现有节点。使用 diff命令来查找和合并节点之间的任何差异。

5.根据不同的snitch,在每个节点的cassandra-topology.properties或 cassandra-rackdc.properties中分配数据中心和机架名称 。

6.以两分钟的时间间隔在每个新节点上启动Cassandra,并关闭consistent.rangemovement:

  • 软件包安装:对于每个引导节点,将以下选项添加到 /usr/share/cassandra/cassandra-env.sh文件,然后启动Cassandra:
JVM_OPTS="$JVM_OPTS -Dcassandra.consistent.rangemovement=false
  • Tarball安装:
$ bin / cassandra -Dcassandra.consistent.rangemovement = false

7.新节点完全引导后,使用nodetool move将新的initial_token值分配给每次需要一个节点的节点。

8.在所有节点都分配了新令牌之后,在群集中的每个节点上运行nodetool cleanup,并在执行下一个节点之前等待每个节点上的清除操作完成。
此步骤将删除不再属于先前存在的节点的密钥。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章