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

时间:2018-09-07 06:04:56

标签: cassandra cassandra-2.0 cassandra-2.1

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

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

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

1 个答案:

答案 0 :(得分:3)

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

说明:种子节点配置有两件事:

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

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