【问题标题】:Caasandra join new seed in cluster when old seed nodes got destroyed/terminated当旧种子节点被破坏/终止时,Cassandra 在集群中加入新种子
【发布时间】:2019-03-22 22:56:28
【问题描述】:

我有简单的 cassandra 集群、1 个种子和 2 个节点。

我理解冗余目的应该有两个节点,但我的问题是,“由于某种原因,如果我的所有种子节点都被删除,如何创建和新的种子节点并使其加入我正在运行的集群强>”。

【问题讨论】:

  • Deleted 的意思是,你删除或退役了吧?
  • 您应该能够将任何节点更改为种子节点,方法是关闭它并将 IP 添加到种子列表中。那里没什么特别的。确保种子列表是一致的。真的只用于启动/引导节点。只需更改列表并重新启动就可以了。
  • 如果你有最新版本的 Cassandra,你甚至不需要关闭节点来添加种子 - 有nodetool reloadseeds 命令:docs.datastax.com/en/cassandra/3.0/cassandra/tools/…
  • @JimWartnick 的重点是启动我们需要种子服务器的 ip 的服务器,而这里的种子服务器被破坏了,那么如何做到这一点并获取现有的集群详细信息。
  • 假设您至少有一个存活的节点(不一定是种子),只需将节点的 IP 添加到种子列表中,它就会成为种子节点。您根本不需要被破坏的节点(只要 RF > 1 并且节点同步(即没有丢失数据))。因此,如果您有一个 3 节点集群,并且节点 1 是唯一的种子。如果节点 1 被破坏/丢失,只需更改其他节点上的 cassandra.yaml 以使种子列表指向任何剩余节点,然后就完成了。要么重新启动 cassandra,要么如上所述,使用 nodetool 重新加载种子。

标签: cassandra


【解决方案1】:

假设您至少有一个节点幸存(不一定是种子),只需将节点的 IP 添加到种子列表中,它就会成为种子节点。您根本不需要被破坏的节点(只要 RF > 1 并且节点同步(即没有丢失数据))。因此,如果您有一个 3 节点集群,并且节点 1 是唯一的种子。如果节点 1 被破坏/丢失,只需更改其他节点上的 cassandra.yaml 以使种子列表指向任何剩余节点,然后就完成了。要么重新启动 cassandra,要么如上所述,使用 nodetool 重新加载种子。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-11
    • 1970-01-01
    • 2017-03-23
    • 2017-08-11
    • 2021-04-27
    • 1970-01-01
    • 2019-09-28
    相关资源
    最近更新 更多