Обнаружены тяжелые слияния OpenSearch - в том числе сниппеты кода

Индексы OpenSearch хранятся в шардах, а каждый шард, в свою очередь, хранит данные на диске в виде сегментов. В результате процессов OpenSearch, таких как обновление и удаление, на диске может быть создано множество небольших сегментов, которые OpenSearch объединяет в сегменты большего размера, чтобы оптимизировать использование диска. Процесс объединения использует ресурсы процессора, памяти и диска, что может замедлить скорость отклика кластера.

Как исправить

В общем случае процесс объединения OpenSearch управляется в фоновом режиме, учитывая другие потребности кластера в ресурсах, такие как поиск и индексирование. Поэтому вмешиваться в эти процессы не нужно и нежелательно.

Однако если вы временно хотите уменьшить или ограничить процессы слияния, у вас есть два варианта.

Менее агрессивный метод - уменьшить значение max_thread_count для планировщика слияния.

Это уменьшит максимальное количество потоков, которые OpenSearch будет выделять для работы слияния (это число не может быть уменьшено до нуля).

Если вы считаете необходимым предпринять этот шаг, настоятельно рекомендуется восстановить значение по умолчанию как можно скорее, чтобы избежать других проблем, таких как избыток дескрипторов файлов на узлах.

Другой вариант - "свернуть" индекс, чтобы остановить дальнейшую запись в него, а затем напрямую отменить задачи слияния, которые были запущены на этом индексе, в соответствии со следующими шагами.

Свернуть индекс

Чтобы свернуть индекс, необходимо использовать псевдонимы индексов.

Чтобы создать индекс, использующий псевдонимы, вам нужно либо создать индекс с псевдонимом:

Или добавьте псевдоним к существующему индексу:

Ваше приложение должно будет писать в псевдоним, а не напрямую в индекс.

Создав псевдоним, вы можете принудительно перевернуть его, создав новый индекс и изменив индекс записи следующим образом:

Отмена задачи слияния

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

Как предотвратить сильную активность слияния

Сильная активность слияния обычно возникает для индексов, которые активно индексируются или обновляются. Сильная активность слияния также может быть признаком того, что в вашем кластере что-то не в порядке. В частности, это может быть слишком большой размер ваших шардов. Подробнее о том, как это происходит и как решить эту проблему, вы можете узнать здесь: Слишком большие шарды в OpenSearch - полное руководство.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий