在 Elasticsearch 5.6 中跨所有节点复制所有索引的正确设置是什么?

问题描述 投票:0回答:1

目前无法升级,我只能使用 Elasticsearch 5.6。

尝试在 GKE 上成功运行集群模式,但有一个主要问题。每当我对 Elasticsearch 集群进行滚动重启 (

StatefulSet
) 时,集群都会进入红色状态,无法恢复。不过,这种情况不会一直发生,如果我只杀死一个节点(三个节点中的一个),它就可以完美地工作。

由于某种原因,重新启动的节点无法在启动时恢复其主/副本分片。或者下一个节点在分片分配完成之前提前终止?

无论如何,我都在寻找一个选项,将每个索引完全保留在每个节点上(主分片和副本分片的混合)。不知道如何正确配置。

如何配置具有三个节点和两个索引的 Elasticsearch 集群才能在两个节点中断时幸存下来?

编辑:https://www.elastic.co/guide/en/elasticsearch/reference/5.6/delayed-allocation.html可能是我需要的,不是吗?

elasticsearch kubernetes google-kubernetes-engine elasticsearch-5
1个回答
0
投票

A StatefulSet 是一种在分布式系统中创建有状态组件的方法。因此,Pod 旨在以其自己的状态独立执行。事实上,StatefulSet 具有唯一的序数索引、稳定的网络标识,并且如果停止,其数据对于正在运行的节点是不可见的。 这是访问 PV/PVC 的框图:

 PV - PVC - POD1 \
 PV - PVC - POD2 - StatefulSet  
 PV - PVC - POD3 /

如果您需要在某些 pod 停止时继续访问数据,您可能需要一个 部署,而每个 pod 都访问 PV-PVC 上的相同数据:

          / POD1 \
 PV - PVC - POD2 - Deployment
          \ POD3 /

因此,为了满足您的要求,请尝试使用 Deployments 而不是 StatefulSet。

© www.soinside.com 2019 - 2024. All rights reserved.