在ECK上失去先前的主机后,Elasticseach群集将不会选举新的主机

时间:2019-11-16 01:07:44

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

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

创建了新的合格大师后,他们将无法选举新成员。现在,尽管看到了新的符合主服务器要求的服务器(k8s中的Pod),但该集群却永远陷入困境。

有没有办法迫使ES选出新的主人,即使先前的主人不在照片中?

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

2 个答案:

答案 0 :(得分:3)

  

请注意,母版没有数据。

这不是真的。主节点拥有集群元数据,Elasticsearch需要正确地理解这些数据节点上存储的数据。由于删除了元数据,因此数据节点上的数据实际上毫无意义。

这时,最好的选择是从新的群集重新开始,并从最近的快照还原数据。

答案 1 :(得分:0)

还没有快照,我决心将数据节点放入新的群集中。

我重新创建了3个主节点,并确保它们通过选举的主节点加入了新集群。之后,我将数据节点从先前的群集中分离出来,并让它们与新的群集关联。我知道风险所在,幸运的是,除了我的xpack安全凭证之外,我没有丢失任何数据。

我遵循过程here,并通过更新有状态集的初始化容器使之适应于我的ECK情况。

在经历了如此痛苦之后,我不能足够强调快照的价值。