0

尝试批量插入 elasticsearch 时出现异常v6.6.0

之前还好。

这是异常消息:

Elasticsearch bulk insert exception, TransportError(503, 'circuit_breaking_exception', '[parent] Data too large, data for [<http_request>] would be [746384154/711.8mb], which is larger than the limit of [745517875/710.9mb], usages [request=0/0b, fielddata=626151547/597.1mb, in_flight_requests=889937/869kb, accounting=119342670/113.8mb]')

如何配置数据限制?因为例外是说明data too large, than the limit

4

1 回答 1

1

断路器是一种防止 OutOfMemory 异常的机制。它设置为堆的 70%。 https://www.elastic.co/guide/en/elasticsearch/reference/current/circuit-breaker.html

我不建议增加断路器的限制,因为你会得到 OOM 异常。显然,字段数据导致您的堆(内存)已满。一些解决方案:

  • 增加堆大小。
  • 使用文档值而不是字段数据。
  • 清除字段数据缓存(例如每小时)。

在某些版本的弹性(我认为是 6.3)中存在关于断路器的错误,更新后问题得到解决。

于 2019-07-02T05:40:48.350 回答