替换种子节点而不将其从种子列表中删除

问题描述 投票:1回答:1

我有一个总共6个节点的cassandra(版本2.2.8)集群,其中3个节点是种子节点。其中一个种子节点最近倒下了。我需要替换那个死的种子节点。我的群集的设置方式使其无法承受超过1个节点的丢失。我阅读此文档以替换死种子节点。 https://docs.datastax.com/en/cassandra/2.1/cassandra/operations/opsReplaceNode.html

根据文档,我害怕从种子列表中删除死种子节点并进行滚动重启。如果出于任何原因,任何节点都不会丢失数据。

如何处理这种情况?在新节点完全启动并运行之前,是否可以不从种子列表中删除死种子节点?因为我已经在种子列表中存在两个工作种子节点。请指教。

cassandra cassandra-2.0 cassandra-2.1
1个回答
3
投票

简而言之:是的,可以等待删除种子节点。

说明:种子节点配置执行两项操作:

  1. 添加新节点时。新节点将读取种子配置以获得Cassandra集群的第一个联系点。节点加入群集后,它将在其system.peers表中保存有关所有Cassandra节点的信息。对于将来的所有启动,它将使用此信息连接到群集,而不是种子节点配置。
  2. 卡桑德拉还使用种子来改善八卦。基本上,种子节点比普通节点更可能接收八卦消息。这提高了节点接收有关其他节点的更新的速度,例如状态。

在您的情况下,丢失种子节点只会影响2.由于您还有两个种子节点,我不认为这是一个大问题。一旦更新了种子配置,我仍然会在所有节点上进行滚动重启。

© www.soinside.com 2019 - 2024. All rights reserved.