记录Elasticsearch circuit_breaking_exception异常解决

业务场景:

Flink消费Kafka数据写入ES

组件版本:

CDH:6.3.0

Flink:1.12.1

Elasticsearch:7.7.0

异常明细

Caused by: ElasticsearchStatusException[Elasticsearch exception [type=circuit_breaking_exception, reason=[parent] Data too large, data for [<http_request>] would be [1979396994/1.8gb], which is larger than the limit of [1972122419/1.8gb], real usage: [1977917952/1.8gb], new bytes reserved: [1479042/1.4mb], usages [request=0/0b, fielddata=4008586/3.8mb, in_flight_requests=7691406/7.3mb, accounting=6917604/6.5mb]]]

异常原因

由于ES有熔断器机制,一旦内存使用超过熔断器的限则将会触发熔断,不再响应任何请求,导致程序终止,但ES健康情况不受影响。
日志显示实际使用量[1979396994/1.8gb]已经超过了限制[1972122419/1.8gb],故触发熔断机制。

解决办法

1、调大ES JVM堆内存
ES默认是2g,根据服务器配置做调整,一般建议为服务器内存的一半,并且建议Xms与Xmx大小一致。

(1)散搭ES修改方式:编辑jvm.options

(2)CDH修改方式:
在这里插入图片描述
详细内存配置说明可参考:
https://blog.csdn.net/duanzelun/article/details/106948808

2、调大字段数据熔断器(写场景)
如果服务器没有足够的内存可考虑此选项,indices.breaker.fielddata.limit默认为堆内存的40%,可做适当调整。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值