解决 es CircuitBreakingException 问题
Posted gqdw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决 es CircuitBreakingException 问题相关的知识,希望对你有一定的参考价值。
比如频繁报如下错误,
[2019-06-16T15:31:22,778][DEBUG][o.e.a.a.c.n.i.TransportNodesInfoAction] [node-xxx] failed to execute on node [kQrOKwMhSZy8O42Hgs6sdg]
org.elasticsearch.transport.RemoteTransportException: [node-xxx][ ][cluster:monitor/nodes/info[n]]
Caused by: org.elasticsearch.common.breaker.CircuitBreakingException: [parent] Data too large, data for [<transport_request>] would be [9022404967/8.4gb], which is larger than the limit of [8995025715/8.3gb], usages [request=0/0b, fielddata=5886440013/5.4gb, in_flight_requests=2510/2.4kb, accounting=3135962444/2.9gb]
如果你google,可以搜到 https://blog.csdn.net/ypc123ypc/article/details/69944805
他那里面解决方案是调整 fielddata ,但此报错并非fielddata 缓存问题, 根本原因是[parent] 内存不够了,根据es 的文档 ,https://www.elastic.co/guide/en/elasticsearch/reference/current/circuit-breaker.html 里面写的比较清楚,
indices.breaker.total.limit
Starting limit for overall parent breaker, defaults to 70% of JVM heap if indices.breaker.total.use_real_memory is false. If indices.breaker.total.use_real_memory is true, defaults to 95% of the JVM heap.
这个值默认是70%
以上是关于解决 es CircuitBreakingException 问题的主要内容,如果未能解决你的问题,请参考以下文章
uglify-es 解决webpack 不能压缩es6 的问题
es索引字段类型错误如何高效解决(如何修改es索引字段类型)
es启动报AccessDeniedException: /opt/apps/es/elasticsearch/config/elasticsearch.keystore解决方法