在 Mapping 里面,将 dynamic 参数设置成 strict 可以拒绝索引包含未知字段的文档。 此条 Tips 由 medcl 贡献。

求助 关于Elasticsearch的circuit_breaking_exception的问题

Elasticsearch | 作者 meowCoder123 | 发布于2022年05月28日 | 阅读数:1441

今天发现往es插入数据开始报circuit_breaking_exception,具体报错为:


{"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也不解决问题,配置如下图:

1653709503(1).png

 
后来通过请求_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

}

}

}

}}


已邀请:

Charele - Cisco4321

赞同来自:

111.png

这个看不到吗?fieldData一个字节点都没用上,怎么可能是“fielddata过大的原因”?
解决办法:加内存,或者暂时关闭circuit_breaking

要回复问题请先登录注册