欢迎投稿

今日深度:

替换死亡节点(三),替换死亡节点

替换死亡节点(三),替换死亡节点


替换死亡节点或死亡种子节点

替换因某种原因(例如硬件故障)而死亡的节点的步骤。
vnodes和single-token节点的更换死亡节点的过程相同。更换死亡种子节点需要额外的步骤。

步骤

1.运行nodetool状态以验证节点是否已经死亡(DN)。

2.记录死亡节点的数据中心,地址和机架设置; 你会稍后使用这些。

3.将替换节点添加到网络并记录其IP地址。

4.如果死亡节点是种子节点,请在每个节点上更改群集的种子节点配置:

  • 在每个节点的cassandra.yaml文件中,从seed-provider 属性的- seeds列表中删除无效节点的IP地址。

  • 如果群集需要新的种子节点来替换死亡的种子节点,请将新节点的IP地址添加到- seeds列表中。

  • 重新启动节点。

注意:在多个数据中心集群列表中的,每个数据中心(复制组)至少包含一个节点。为了容错,建议为每个数据中心指定多个种子节点。否则,在引导节点时,gossip不得不与另一个数据中心进行通信。
不建议将每个节点都设为种子节点,因为增加了gossip的维护成本减少了性能。gossip优化并不重要,但建议使用小的种子列表(每个数据中心大约三个节点)。

5.在现有节点上的cassandra.yaml配置文件中获取节点的设置信息 :

  • cluster_name

  • endpoint_snitch

  • 其他非默认设置:使用diff工具将当前设置与默认设置进行比较。

6.收集死亡节点的机架和数据中心信息:

  • 如果群集使用PropertyFileSnitch,请记录cassandra-topology.properties文件中列出的机架和数据中心信息 ,或将文件复制到新节点。

  • 如果群集使用GossipPropertyFileSnitch,Ec2Snitch,Ec2MultiRegionSnitch或GoogleCloudSnitch,请记录cassandra-rackdc.properties文件中的机架和数据中心信息。

7.确保新节点符合所有先决条件,然后在新节点上安装Cassandra,但不要启动Cassandra。

注意:请确保安装与安装在集群其他节点上相同版本的Cassandra。如果不使用最新版本,请参阅安装Apache Cassandra 3.0的早期版本。

8.如果Cassandra在节点上自动启动,请停止并清除启动时自动添加的数据。

包安装:

  • 停止Cassandra:
$ sudo service cassandra stop
  • 清除数据:
$ sudo rm -rf /var/lib/cassandra/data/system/*

Tarball 安装:

  • 停止Cassandra:
$ ps auwx | grep cassandra
$ sudo  kill pid
  • 清除数据:
$ sudo rm -rf /var/lib/cassandra/data/data/system/*

9.将之前获取的信息添加到新节点的cassandara.yaml文件中的以下属性 :

  • auto_bootstrap:如果此设置存在并设置为 false,则将其设置为true。(此设置不包含在默认的 cassandra.yaml配置文件中。)

  • CLUSTER_NAME

  • seed_provider

10.添加机架和数据中心配置:

  • 如果群集使用GossipPropertyFileSnitch,Ec2Snitch,Ec2MultiRegionSnitch或GoogleCloudSnitch:

    • 将无效节点的机架和数据中心信息添加到替换节点上的cassandra-rackdc.properties文件。

    • 删除cassandra-topology.properties 文件。

  • 如果群集使用PropertyFileSnitch:

    • 从现有节点复制cassandra-topology.properties文件,或将设置添加到本地副本。

    • 编辑文件以添加新节点的IP地址和死节点的机架和数据中心分配的条目。

注意:不要删除死亡节点的IP地址条目。

11.使用replace_address选项启动新节点,传入死节点的IP地址。

包安装:

  • 将以下选项添加到 cassandra-env.sh 文件中:
JVM_OPTS="$JVM_OPTS -Dcassandra.replace_address=address_of_dead_node
  • 启动节点。

  • 在节点引导后,在cassandra-env.sh中删除参数replace-address 。

  • 重新启动节点。

Tarball安装:

  • 用这个选项启动Cassandra:
$ sudo bin / cassandra -Dcassandra.replace_address = address_of_dead_node

12.运行nodetool status以验证新节点已成功引导。

13.在使用PropertyFileSnitch的环境中,至少等待72小时,然后从cassandra-topology.properties文件中删除旧节点的IP地址。

这确保旧节点的信息从gossip中移除。如果过早从属性文件中删除,可能会导致问题。使用nodetool gossipinfo检查gossip状态。在LEFT状态消失之前,节点仍处于在线状态。

注:该cassandra-rackdc.properties文件不包含IP信息; 因此,在使用其他线索(如GossipingPropertyFileSnitch)时,此步骤不是必需的。

www.htsjk.Com true http://www.htsjk.com/cassandra/35369.html NewsArticle 替换死亡节点(三),替换死亡节点 替换死亡节点或死亡种子节点 替换因某种原因(例如硬件故障)而死亡的节点的步骤。 vnodes和single-token节点的更换死亡节点的过程相同。更换死亡...
相关文章
    暂无相关文章
评论暂时关闭