У нас кластер из 8-дата-нод.
Есть задача добавить ещё 2 дата- ноды и перенести туда только определённые индексы, которые располагаются на 8 дата-нодах (шардирование 8).
Также нужно создать правило чтобы только определённые новые индексы сохранялись на новых двух-дата нодах, а остальные индексы сохранялись на 8 старых нодах.
Вопрос есть ли способы как это сделать?
На текущий момент 2 новые ноды мы уже ввели в кластер, и в настройках релокации кластера сделали исключение на эти две ноды, чтобы избежать релоцирования шардов.
Заранее большое спасибо за ответ.
Если их не много - то это нормально, если много - значит ресурсов на узлах, на которых расположены эти индексы, скорее всего, не хватает. Сколько у вас узлов logstash и сколько в них worker? На каком количестве узлов elasticsearch расположены эти индексы и сколько процессоров в этих узлах?
У нас два узла logstash - 14 ядер на каждом. В logstash.yml у нас закомментирована настройка # pipeline.workers: 1 в pipeline также. Мы ведь правильно понимаем что используются все 14 ядер. Фильтруемые ндексы аллоцируются только на два узлах (дата-нодах) на каждой дата-ноде 6 ядер, утилизация CPU нод 30% . Индекс состоит по 8 шардов и 1 реплика. Возможно как раз стоит уменьшить кол-во шардов? Индекс за сутки достигает 200Гб. А 8 шардов - это наследие, когда индекс располагася на 8 дата-нодах.
Да, это значение по умолчанию, то есть. А эти ядра - с гиперпоточность, если да, то у вас получается 224 (14 ядер *2 потоков * 8 шард) параллельных запросов, которые переполняют очередь из 200 ячеек и 4-х потоков на эластике. Другими словами, я бы количество потоков на logstash-e ограничил. Уменьшить количество шард тоже может помочь.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.