我有一个使用ECK 1.0的7.4.0 ES群集,在我的3个专用主节点用完磁盘空间后,我将它们连同卷一起删除以测试关键情况。
创建了新的合格大师后,他们将无法选举新成员。现在,尽管看到了新的符合主服务器要求的服务器(k8s中的Pod),但该集群却永远陷入困境。
有没有办法迫使ES选出新的主人,即使先前的主人不在照片中?
请注意,母版没有数据。所有数据都驻留在仅数据节点上。不幸的是,只要不选举一位主人,我就无法访问它们。
答案 0 :(得分:3)
请注意,母版没有数据。
这不是真的。主节点拥有集群元数据,Elasticsearch需要正确地理解这些数据节点上存储的数据。由于删除了元数据,因此数据节点上的数据实际上毫无意义。
这时,最好的选择是从新的群集重新开始,并从最近的快照还原数据。
答案 1 :(得分:0)
还没有快照,我决心将数据节点放入新的群集中。
我重新创建了3个主节点,并确保它们通过选举的主节点加入了新集群。之后,我将数据节点从先前的群集中分离出来,并让它们与新的群集关联。我知道风险所在,幸运的是,除了我的xpack安全凭证之外,我没有丢失任何数据。
我遵循过程here,并通过更新有状态集的初始化容器使之适应于我的ECK情况。
在经历了如此痛苦之后,我不能足够强调快照的价值。