码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-02-06 18:05:29      阅读:70      评论:0      收藏:0      [点我收藏+]

标签:种子   tle   apach   cat   消失   编辑   比较   提示   复制   

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

替换单令牌体系结构群集中的节点而不是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文件中列出的机架和数据分配 ,或将文件复制到新节点。
    • 如果集群使用GossipingPropertyFileSnitchEc2SnitchEc2MultiRegionSnitchGoogleCloudSnitch,则将机架和数据中心分配记录在死节点的 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. 添加机架和数据中心配置:
    • 如果集群使用GossipingPropertyFileSnitchEc2SnitchEc2MultiRegionSnitchGoogleCloudSnitch
      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-addresscassandra-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,则不需要此步骤。

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

标签:种子   tle   apach   cat   消失   编辑   比较   提示   复制   

原文地址:https://www.cnblogs.com/yuxiaohao/p/12269565.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!