求助 关于Elasticsearch的circuit_breaking_exception的问题
Elasticsearch | 作者 meowCoder123 | 发布于2022年05月28日 | 阅读数:1852
{"error":{"root_cause":[{"type":"circuit_breaking_exception","reason":"[parent] Data too large, data for [<http_request>] would be [763187340/727.8mb], which is larger than the limit of [727213670/693.5mb], real usage: [721261032/687.8mb], new bytes reserved: [41926308/39.9mb], usages [request=0/0b, fielddata=0/0b, in_flight_requests=41926308/39.9mb, accounting=1165885/1.1mb]","bytes_wanted":763187340,"bytes_limit":727213670,"durability":"TRANSIENT"}],"type":"circuit_breaking_exception","reason":"[parent] Data too large, data for [<http_request>] would be [763187340/727.8mb], which is larger than the limit of [727213670/693.5mb], real usage: [721261032/687.8mb], new bytes reserved: [41926308/39.9mb], usages [request=0/0b, fielddata=0/0b, in_flight_requests=41926308/39.9mb, accounting=1165885/1.1mb]","bytes_wanted":763187340,"bytes_limit":727213670,"durability":"TRANSIENT"},"status":429}
百度后大家都在说是因为fielddata过大的原因,但是经过我的配置后发现清空fielddata也不解决问题,配置如下图:
后来通过请求_nodes/stats/breaker?发现parent部分每次大批量插入数据都会变得非常大(如下),estimated_size甚至会超过limit,请问这个问题该如何解决.现在为es分配的内存为4g
{"_nodes": {
"total": 1,
"successful": 1,
"failed": 0
},
"cluster_name": "elasticsearch",
"nodes": {
"zfYj0NuZQ-mP3LAzOCOcWw": {
"timestamp": 1653709823471,
"name": "node-1",
"transport_address": "192.168.1.198:9300",
"host": "192.168.1.198",
"ip": "192.168.1.198:9300",
"roles": [
"master"
,
"ingest"
,
"data"
,
"ml"
],
"attributes": {
"ml.machine_memory": "22040842240",
"xpack.installed": "true",
"ml.max_open_jobs": "20"
},
"breakers": {
"request": {
"limit_size_in_bytes": 2133537587,
"limit_size": "1.9gb",
"estimated_size_in_bytes": 0,
"estimated_size": "0b",
"overhead": 1,
"tripped": 0
},
"fielddata": {
"limit_size_in_bytes": 1600153190,
"limit_size": "1.4gb",
"estimated_size_in_bytes": 0,
"estimated_size": "0b",
"overhead": 1.03,
"tripped": 0
},
"in_flight_requests": {
"limit_size_in_bytes": 5333843968,
"limit_size": "4.9gb",
"estimated_size_in_bytes": 0,
"estimated_size": "0b",
"overhead": 2,
"tripped": 0
},
"accounting": {
"limit_size_in_bytes": 5333843968,
"limit_size": "4.9gb",
"estimated_size_in_bytes": 1418640,
"estimated_size": "1.3mb",
"overhead": 1,
"tripped": 0
},
"parent": {
"limit_size_in_bytes": 3733690777,
"limit_size": "3.4gb",
"estimated_size_in_bytes": 3816245888,
"estimated_size": "3.5gb",
"overhead": 1,
"tripped": 0
}
}
}
}}
1 个回复
Charele - Cisco4321
赞同来自:
这个看不到吗?fieldData一个字节点都没用上,怎么可能是“fielddata过大的原因”?
解决办法:加内存,或者暂时关闭circuit_breaking