исключение массовой вставки эластичного поиска при загрузке - PullRequest
0 голосов
/ 02 июля 2019

Я получаю исключение при попытке выполнить массовую вставку в эластичный поиск 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?

1 Ответ

1 голос
/ 02 июля 2019

автоматический выключатель - это механизм предотвращения исключения OutOfMemory.Он устанавливает до 70% процентов вашей кучи.https://www.elastic.co/guide/en/elasticsearch/reference/current/circuit-breaker.html

Я не рекомендую увеличивать предел автоматического выключателя, потому что вы получите исключение OOM.Очевидно, полевые данные вызвали переполнение вашей кучи (памяти).какое-то решение:

  • увеличить размер кучи.
  • использовать значение doc вместо данных поля.
  • очистить кэш данных поля (например, каждый час).

в некоторых версиях упругих (я думаю, 6.3) была ошибка об автоматическом выключателе, и после обновления проблема была решена.

...