其他分享
首页 > 其他分享> > 实战-Cassandra之单令牌替换down节点

实战-Cassandra之单令牌替换down节点

作者:互联网

替换单令牌体系结构集群中的死节点

替换单令牌体系结构群集中的节点而不是vnode的步骤。

警告:仅将新节点添加到群集。一个新节点是一个从未启动Apache Cassandra™(DDAC)的DataStax分发的系统。该节点在数据目录,saved_caches,commitlog和提示中必须完全没有PREVIOUS DATA。添加先前用于测试的节点或已从另一个集群中删除的节点,会将较旧的数据合并到集群中,并可能导致数据丢失或损坏。

程序

  1. 运行nodetool status以确认该节点已死(DN)。

  2. 记录死节点的数据中心,地址和机架设置;您将在以后使用它们。
  3. initial_token从死节点的cassandra.yaml中记录现有设置 。
  4. 将替换节点添加到网络并记录其IP地址。
  5. 如果死节点是种子节点,请在每个节点上更改群集的种子节点配置:
    1. 在每个节点的cassandra.yaml文件中,从种子提供者 属性的- seeds列表中删除死节点的IP地址。
    2. 如果群集需要新的种子节点来替换死节点,则将新节点的IP地址添加到- seeds其他节点的列表中。 注意: 由于增加了维护并降低了八卦的性能,因此不建议将每个节点都设为种子节点。八卦优化并不严格,但是建议使用较小的种子列表(每个数据中心大约三个节点)。
  6. 在现有节点上,从cassandra.yaml文件收集新节点的设置信息 :
    • cluster_name
    • endpoint_snitch
    • 其他非默认设置:使用diff工具将当前设置与默认设置进行比较。
  7. 收集机架和数据中心信息:
    • 如果集群使用PropertyFileSnitch,请记录cassandra-topology.properties文件中列出的机架和数据分配 ,或将文件复制到新节点。
    • 如果集群使用GossipingPropertyFileSnitch,Ec2Snitch,Ec2MultiRegionSnitch或GoogleCloudSnitch,则将机架和数据中心分配记录在死节点的 cassandra-rackdc.properties文件中。
  8. 确保新节点满足所有先决条件,然后在新节点上安装Cassandra,但不要启动Cassandra。 注意:确保安装的Cassandra版本与集群中其他节点上安装的版本相同。如果未使用最新版本,请参阅安装Apache Cassandra 3.11修补程序版本的DataStax分发。
  9. 如果Cassandra在节点上自动启动,请停止并清除在启动时自动添加的数据。
  10. 根据先前收集的信息,将值添加到cassandra.yaml文件中的以下属性 :
    • auto_bootstrap:如果此设置存在并且设置为 false,请将其设置为true。(此设置未包含在默认的 cassandra.yaml配置文件中。)
    • cluster_name
    • 初始令牌
    • 种子清单 警告:如果新节点是种子节点,请确保它未在其自己的- seeds列表中列出。
  11. 添加机架和数据中心配置:
    • 如果集群使用GossipingPropertyFileSnitch,Ec2Snitch和Ec2MultiRegionSnitch或GoogleCloudSnitch:
      1. 将死节点的机架和数据中心分配添加到 替换节点上的cassandra-rackdc.properties文件中。 注意:请勿删除死节点IP地址的条目。
      2. 删除cassandra-topology.properties 文件。
    • 如果集群使用PropertyFileSnitch:
      1. 从现有节点复制cassandra-topology.properties文件,或将设置添加到本地副本。
      2. 编辑文件以添加具有新节点的IP地址以及死节点的机架和数据中心分配的条目。
  12. 使用replace_address 选项启动新节点 ,并传入死节点的IP地址。
    • 软件包和安装程序服务安装:
      1. 将以下选项添加到 cassandra-env.sh 文件:
        JVM_OPTS="$JVM_OPTS -Dcassandra.replace_address=address_of_dead_node
      2. 启动节点。
      3. 节点引导后,replace-address从cassandra-env.sh中删除 参数 。
      4. 重新启动节点。

    使用以下选项从installation_location启动DataStax Enterprise :

    sudo installation_location/bin/dse cassandra -Dcassandra.replace_address = address_of_dead_node
  13. 运行nodetool status以验证新节点是否已成功引导。 路径:
    installation_location/bin
  14. 在使用PropertyFileSnitch的环境中,至少等待72个小时,然后从cassandra-topology.properties文件中删除旧节点的IP地址 。 注意:这可确保从八卦中删除旧节点的信息。如果从属性文件中删除太早,可能会导致问题。使用nodetool gossipinfo检查八卦状态。节点仍处于闲聊中,直到LEFT状态消失。 注:该cassandra-rackdc.properties文件不包含IP信息; 因此,当使用其他图案时,例如GossipingPropertyFileSnitch,则不需要此步骤。

标签:文件,properties,down,添加,之单,IP地址,Cassandra,节点,cassandra
来源: https://www.cnblogs.com/yuxiaohao/p/12269565.html