indices.breaker.total.use_real_memory影响写入
Elasticsearch | 作者 wangxinrong | 发布于2021年01月05日 | 阅读数:3547
我这边有一个ES5版本的集群,数据需要每天导入一次,完成后应用去查询当天导入的最新数据。
把数据节点分成了AB两组,前一天数据在A组节点的话,当天的数据就会导在B组。这样可以避免互相影响。导数据时,为尽快完成,一直都没有限速,可以把服务器cpu跑满,一直都正常运行。
最近新建了一个ES7的集群准备把服务切换过去,服务器资源,集群各项配置都相同,但在导数据时会频繁报下面的错误:
Caused by: org.elasticsearch.common.breaker.CircuitBreakingException: [parent] Data too large, data for [<transport_request>] would be [32602711944/30.3gb], which is larger than the limit of [31621696716/29.4gb], real usage: [32602685936/30.3gb], new bytes reserved: [26008/25.3kb], usages [request=0/0b, fielddata=0/0b, in_flight_requests=26008/25.3kb, accounting=127817469/121.8mb]
查了下网上也有类似问题,应该是ES7新增的indices.breaker.total.use_real_memory配置默认为true,写入量大的时候触发了断路器设置。上面那个问题里
有人回复的是通过调整GC参数来解决,也可以通过设置为false解决。
我想咨询下,这种情况下应该怎么设置比较好呢,如果像我之前这种已经确认写入量不会导致集群异常,是不是可以直接设置成false就行?这样设置后,会导致哪方面的保护功能失效呢?
把数据节点分成了AB两组,前一天数据在A组节点的话,当天的数据就会导在B组。这样可以避免互相影响。导数据时,为尽快完成,一直都没有限速,可以把服务器cpu跑满,一直都正常运行。
最近新建了一个ES7的集群准备把服务切换过去,服务器资源,集群各项配置都相同,但在导数据时会频繁报下面的错误:
Caused by: org.elasticsearch.common.breaker.CircuitBreakingException: [parent] Data too large, data for [<transport_request>] would be [32602711944/30.3gb], which is larger than the limit of [31621696716/29.4gb], real usage: [32602685936/30.3gb], new bytes reserved: [26008/25.3kb], usages [request=0/0b, fielddata=0/0b, in_flight_requests=26008/25.3kb, accounting=127817469/121.8mb]
查了下网上也有类似问题,应该是ES7新增的indices.breaker.total.use_real_memory配置默认为true,写入量大的时候触发了断路器设置。上面那个问题里
有人回复的是通过调整GC参数来解决,也可以通过设置为false解决。
我想咨询下,这种情况下应该怎么设置比较好呢,如果像我之前这种已经确认写入量不会导致集群异常,是不是可以直接设置成false就行?这样设置后,会导致哪方面的保护功能失效呢?
1 个回复
AnswerI
赞同来自: