【问题标题】:Elasticseach cluster won't elect new master after losing the previous ones on ECKElasticsearch 集群在 NECK 上丢失之前的主节点后不会选举新主节点
【发布时间】:2019-11-16 01:07:44
【问题描述】:

我有一个使用 ECK 1.0 的 7.4.0 ES 集群,在我的 3 个专用主节点用完磁盘空间后,我将它们与卷一起删除以测试关键场景。

一旦创建了新的合格主人,他们就无法选举新成员。现在集群永远卡住了,尽管它看到了新的符合条件的主服务器(k8s 中的 pod)。

有没有办法强制 ES 选举一个新的 master,即使之前的 master 已经不在了?

请注意,主人没有数据。所有数据都驻留在仅数据节点上。不幸的是,只要没有选出主人,我就无法访问它们。

【问题讨论】:

    标签: elasticsearch kubernetes elastic-stack elastic-cloud elasticsearch-7


    【解决方案1】:

    请注意,主人没有数据。

    这不是真的。主节点保存 Elasticsearch 正确理解存储在数据节点上的数据所需的集群元数据。由于您已删除元数据,因此数据节点上的数据实际上毫无意义。

    此时,您最好的选择是使用新集群重新开始,并从最近的快照中恢复您的数据。

    【讨论】:

    • 感谢 Dave 的回复。我的意思是它不包含任何业务数据,并且只有 master 资格
    【解决方案2】:

    由于还没有快照,我决定将数据节点引入一个新的集群。

    I recreated the 3 master nodes and made sure they joined a new cluster with an elected master.之后,我将数据节点从其先前的集群中分离出来,并让它们与新的集群关联。我知道风险,幸运的是,除了我的 xpack 安全凭证之外,我没有丢失数据。

    我遵循了here 的过程,并通过更新 statefulset 的 init 容器来适应我的 ECK 案例。

    经历了这样的痛苦,我再怎么强调快照的价值也不过分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-14
      • 1970-01-01
      相关资源
      最近更新 更多