首页 > 解决方案 > ES Cluster V7.3.1 频繁出现断路异常?

问题描述

我们正在使用 ES v7.3.1,从过去几天开始,由于断路异常,我们的 ES 集群中的分片未分配,我无法理解导致此异常的确切原因,任何帮助都会非常有帮助。

这是我使用命令 GET _cluster/allocation/explain 获得的详细信息

"unassigned_info" : {
    "reason" : "ALLOCATION_FAILED",
    "at" : "2021-02-12T08:05:40.154Z",
    "failed_allocation_attempts" : 1,
    "details" : "failed shard on node [WbHklo7iSf6jGj90cP9Y-A]: failed to perform indices:data/write/bulk[s] on replica [segment_index_573179789d2572f27bc73e6b][6], node[WbHklo7iSf6jGj90cP9Y-A], [R], s[STARTED], a[id=SNoWjhhYRXClfVqa6lsDAQ], failure RemoteTransportException[[ip-1-0-104-220][1.0.104.220:9300][indices:data/write/bulk[s][r]]]; nested: CircuitBreakingException[[parent] Data too large, data for [<transport_request>] would be [14311120802/13.3gb], which is larger than the limit of [14247644364/13.2gb], real usage: [14311004440/13.3gb], new bytes reserved: [116362/113.6kb], usages [request=0/0b, fielddata=808714408/771.2mb, in_flight_requests=15836072/15.1mb, accounting=683535018/651.8mb]]; ",
    "last_allocation_status" : "no_attempt"
  }

标签: elasticsearch

解决方案


你能提供集群健康的结果吗?

curl -XGET  "http://localhost:9200/_cluster/health?pretty"

你能提供JVM压力指标的结果吗?

由于信息不多,下面我解释一下我在类似的断路情况下发生了什么,以及我在我的情况下做了什么。

我相信批量大小很小,几件事的总和(搜索 + 批量 + 新分片的分配过程)会导致 RAM 填满。

在我知道的情况下,“数据太大”是指 JVM 堆。也许,你已经达到了内存限制,触发了断路器。我敢于认为(很有可能是错误的:/)每个节点的 ram 与配置的断路器的百分比成正比。例如,如果您将断路器设置为 80%,并且在 13.3 GB 时显示错误,则每个节点肯定有 16 GB 的 RAM (100%)。

  1. 根据您的断路器配置,作为临时解决方法,您可以临时增加数量。如果您的断路器已经很高,则不建议增加它。

  2. 也许您的批量创建倍数索引,倍数索引创建倍数分片。太多的分片填满了内存,因为每个分片创建内存,文件描述符使用内存。在某些情况下,创建新索引的逻辑/模式不正确,它们会无意中生成许多新索引(创建许多分片),而不是仅创建一个索引。

    也许你已经处于极限并且你不知道,直到现在你创建了新的索引(因此是新的分片),问题就出现了。

    你有多少碎片? curl -XGET "http://localhost:9200/_cat/shards" | wc -l 有多少分片支持您的每个节点?

    当您使用分片达到限制偏移量时,您可以减少副本分片的数量,作为临时解决方法。为了完成散装。

    对我有用的一个选项是为不太重要的索引禁用临时分片副本。

检查你的分片:curl -XGET "http://localhost:9200/_cat/shards"

curl -X "PUT"  "http://localhost:9200/mylessimportant_indices/_settings" \
-H "Content-type: application/json" \
-d $'{
"index" : {
"number_of_replicas":0
}
}' | jq

推荐阅读