今天接到测试环境报错:
elasticsearch报错: Elasticsearch exception [type-circuit.breaking_exception, reason-[parent) Datatolarge,data for [htp_request>] wovld be [127586936/1216mbl, which is larger than the imit of [12756841/121.5mb
这个报错是其他服务连es报出来的,然后去看es服务,果然也有收获:
看报错就知道是内存不足了或者field data的缓存不够用,解决办法:
1、设置fielddata缓存占用JVM内存的40%或更小。
curl -XPUT "localhost:9200/_cluster/settings" -H 'Content-Type: application/json' -d '{ "persistent" : { "indices.breaker.fielddata.limit" : "40%" } }'
2、调大ES JVM堆内存,ES默认是2g,根据服务器配置做调整,一般建议为服务器内存的一半,并且建议Xms与Xmx大小一致。
参考:https://blog.csdn.net/weixin_38106322/article/details/107994405