Запрет релоцирования определённых индексов

Коллеги, добрый вечер!

У нас кластер из 8-дата-нод.
Есть задача добавить ещё 2 дата- ноды и перенести туда только определённые индексы, которые располагаются на 8 дата-нодах (шардирование 8).
Также нужно создать правило чтобы только определённые новые индексы сохранялись на новых двух-дата нодах, а остальные индексы сохранялись на 8 старых нодах.

Вопрос есть ли способы как это сделать?

На текущий момент 2 новые ноды мы уже ввели в кластер, и в настройках релокации кластера сделали исключение на эти две ноды, чтобы избежать релоцирования шардов.
Заранее большое спасибо за ответ.

https://www.elastic.co/guide/en/elasticsearch/reference/7.5/shard-allocation-filtering.html

Спасибо! Удалось сделать

Коллеги, после того как мы сделали запрет на алоцирование в логах logstash много ошибок типа:

[2020-02-05T18:58:25,690][INFO ][logstash.outputs.elasticsearch] retrying failed action with response code: 429 ({"type"=>"es_rejected_execution_exception", "reason"=>"rejected execution of processing of [119929179][indices:data/write/bulk[s][p]]: request: BulkShardRequest [[dbo3-prod-filebeat-2020.02.05][5]] containing [14] requests, target allocation id: JEXbRM6_SoexGOF3kluIVQ, primary term: 1 on EsThreadPoolExecutor[name = elk-data09.mbrd.ru/write, queue capacity = 200, org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor@35d5dc93[Running, pool size = 4, active threads = 4, queued tasks = 203, completed tasks = 107004511]]"})

Подскажите, плийз, это норм?

Если их не много - то это нормально, если много - значит ресурсов на узлах, на которых расположены эти индексы, скорее всего, не хватает. Сколько у вас узлов 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 ограничил. Уменьшить количество шард тоже может помочь.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.