@elenium

Как определить какие операции вызвают высокую дисковую нагрузку в elasticsearch?

В кластере DC/OS есть контейнер с elasticsearch 5.6.13(одиночный), который получает данные из logstash, около 300 индексов, 1400 шардов. Индексы от 5мб до 500мб.
После запуска некоторое время работает корректно, затем в логах появляется запись

[o.e.c.m.MetaDataMappingService] [-n4ixxd] [имя индекса созданного сегодня] update_mapping [имя индекса созданного сегодня]

Не уверен что дальнейшее связано с этим событием,но количество процессов внутри контейнера сильно вырастает и все они что-то очень активно пишут/читают с диска. LA под 80, пару часов это все-таки работает, затем начинаются сообщения от GC, судя по всему потихоньку отъедается память и контейнер падает.

Настройки эластика - почти дефолтные, увеличен heap size до 4Гб (cамому контейнеру выделено 8).
bootstrap.memory_lock: true
refresh_interval - увеличен до 5 минут
  • Вопрос задан
  • 102 просмотра
Пригласить эксперта
Ответы на вопрос 2
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Так как эластик написан на яве, а в яве есть jmx, mbeans и jconsole, то проблем помониторить не вижу никаких. Можно даже снять эти данные через logstash и засунуть обратно в эластик для просмотра в кибане. pavanrp1.blogspot.com
Ответ написан
Комментировать
@scor2k
Не совсем по теме, конечно, но скажу. Зачем Вам 1400 шардов для единого инстанса эластика, особенно при размерах индекса от 5 до 500мб? По рекомендациям производителя, размер шарда, при котором требуется шардирование (прошу прощения за тавтологию), около 50Гб... Опять же, для 4Гб 300 индексов это прям очень не слабо, т.к. эластик держит много информации в памяти. Оптимизируйте или дайте ему больше ресурсов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы