elasticsearch 7.4 出现circuit
1. 异常信息
{ "error" : { "root_cause" : [ { "type" : "circuit_breaking_exception", "reason" : "[parent] Data too large, data for [] 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 [] 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 }
2.
原因
field data的缓存不够用
3. 解决方法1
设置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": {} }
4. 解决方法2
根本的原因还是机器内存太小,数据量和查询量太大,查询返回的数据量也多,根本的原因还是增加机器的内存。从2G增加到4G以后,问题就再也没有这个错误异常了。
评论列表(0条)