Java OpenResty Spring Spring Boot MySQL Redis MongoDB PostgreSQL Linux Android Nginx 面试 小程序 Arthas JVM AQS juc Kubernetes Docker 诊断工具


Elasticsearch 出现 circuit_breaking_exception 异常

Elasticsearch 大约 1272 字

异常信息

{
  "error" : {
    "root_cause" : [
      {
        "type" : "circuit_breaking_exception",
        "reason" : "[parent] Data too large, data for [<http_request>] would be [115813528/110.4mb], which is larger than the limit of [115553075/110.1mb], real usage: [115813528/110.4mb], new bytes reserved: [0/0b]",
        "bytes_wanted" : 115813528,
        "bytes_limit" : 115553075,
        "durability" : "PERMANENT"
      }
    ],
    "type" : "circuit_breaking_exception",
    "reason" : "[parent] Data too large, data for [<http_request>] would be [115813528/110.4mb], which is larger than the limit of [115553075/110.1mb], real usage: [115813528/110.4mb], new bytes reserved: [0/0b]",
    "bytes_wanted" : 115813528,
    "bytes_limit" : 115553075,
    "durability" : "PERMANENT"
  },
  "status" : 429
}

原因

field data的缓存不够用

解决方法

设置fielddata缓存占用JVM内存的40%或更小

curl -XPUT "localhost:9200/_cluster/settings" -H 'Content-Type: application/json' -d '{
  "persistent" : {
    "indices.breaker.fielddata.limit" : "40%" 
  }
}'

返回:

{
    "acknowledged": true,
    "persistent": {
        "indices": {
            "breaker": {
                "fielddata": {
                    "limit": "40%"
                }
            }
        }
    },
    "transient": {}
}
阅读 16016 · 发布于 2019-04-25

————        END        ————

Give me a Star, Thanks:)

https://github.com/fendoudebb

扫描下方二维码关注公众号和小程序↓↓↓

扫描二维码关注我
昵称:
随便看看 换一批