Проблема с производительностью: отклонено выполнение org.elasticsearch.ingest.PipelineExecutionSService - PullRequest
0 голосов
/ 28 января 2019

Я изо всех сил пытался перенести 500 миллионов документов, которые отправляются из журналов Windows IIS, с kafka наasticsearch.В начале процесса доставки, все хорошо.

Из панели управления Kafka-manager я увидел, что скорость вывода / байтов документа составляет около 1 миллиона в минуту.

Через неделю скорость вывода / байтов снижается до 200 КБ в минуту.Я думал, что это имеет некоторые проблемы.Открыв файл журналаasticsearch, я увидел множество ошибок.

Ошибка приведена ниже.

[ОШИБКА] [oeabTransportBulkAction] [*** - node-2] не удалось выполнить конвейер для массового запроса org.elasticsearch.common.util.concurrent.EsRejectedExecutionException: отклонено выполнение org.elasticsearch.ingest.PipelineExecutionSService $ ..... on EsThreadPoolExecutor

В первый раз я подумал, что это проблема недостатка пула потоков. Но настройка пула потоков записи не очень рекомендуется на форумеласти упругого поиска.

Во второй раз это пришло из ingest-geoip, потому что в сообщении об ошибке сказано, что "ingest.PipelineExecution ....", поэтому я упростил фильтр geoip в своей конфигурации logstash.то есть отключите geoip.

Кроме того, попытался уменьшить количество работников конвейера и количество пакетов в конфигурации logstash.

Все не удалось ... Нет надежды на преодоление этой ошибки.

Помогите Гению!

enter image description here

1 Ответ

0 голосов
/ 28 января 2019

Из журнала, который вы вставили, похоже, что емкость очереди составляет 200, но есть 203 задачи в очереди.Я полагаю, что либо индексация идет медленно из-за слишком долгой загрузки конвейеров, либо что происходит скачок данных индексации, который оказывает давление на очередь.Другой вариант заключается в том, что вы не перемещаетесь по индексу, а когда индекс становится слишком большим, слияния становятся больше и длиннее, а производительность индексации снижается.

Я бы начал с увеличения емкости очереди до 2000, отслеживаяразмер очереди, и проверьте, получаете ли вы мгновенные / длинные пакеты входящих данных.Еще нужно следить за задержкой индексации и проверять, являются ли узкие места конвейеры загрузки, проверяя их время.Вы можете попробовать отключить их на короткое время (если это приемлемо) и посмотреть, не ослабляет ли это очередь и ошибки в журнале.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...