当某些节点出现故障时,Elasticsearch是否停止索引数据?

时间:2018-12-29 12:11:24

标签: elasticsearch high-availability fault-tolerance

我已阅读到将新的索引请求发送到ES群集时的情况。 ES将根据路由指定应将该文档存储在哪个分片中。然后,承载该主分片的那个节点(又名协调节点)将向包含该分片副本的每个节点广播索引请求,如果主分片及其副本已存储,则它将响应客户端已成功为文档建立索引。将该文档编入索引。

这是否意味着ES支持高可用性(节点可容忍)以用于读取请求而不用于写入请求,或者这是默认行为并且可以更改?

1 个答案:

答案 0 :(得分:0)

副本的主要目的是进行故障转移,如果持有主分片的节点死亡,则副本将升级为主角色。同样,副本分片可以满足读取请求,从而提高搜索性能。

但是对于写请求,如果集群中的一个节点(具有实时索引的主要分片)突然用完磁盘空间,则索引将受到影响,因为如果节点磁盘使用率达到配置的水印级别,则ES抛出集群块异常,防止对该节点进行任何写操作。如果所有节点都关闭/无法访问,则索引将停止,但是如果只有一个或某些节点关闭,则索引不应完全停止,因为如果拥有原始主节点的节点处于脱机状态,则其他节点上的副本分片将被提升为主节点。理想情况下,不用说,应该对ES集群进行适当的大小分析和工作,并进行监控以防止出现任何问题。