Если в кластере Elasticsearch есть избыточная ёмкость из‑за трафика в непиковые часы или уменьшенного объёма данных, вы можете уменьшить количество его узлов для оптимизации затрат.
Тип | Сценарий | Процесс изменения |
|---|---|---|
Случайное удаление узлов | Случайным образом удаляет узлы кластера для оптимизации затрат. |
Узлы удаляются по одному, чтобы избежать прерывания сервисов. |
Удаление указанных узлов | Удаляет указанные узлы кластера для оптимизации затрат. |
Для кластера с оплатой по использованию вы можете увидеть его новую цену при подтверждении scale-in в консоли. После завершения scale-in новая цена будет применена.
Например, если кластер имеет три узла данных, три клиентских узла и три узла холодных данных, за одну операцию можно удалить максимум два узла. Формула: (3+3)/2 = 3; и количество удаляемых узлов должно быть меньше 3.
Например, если каждый индекс может иметь максимум две реплики, оставшиеся узлы данных плюс узлы холодных данных должны быть не менее трёх.
Например, если в кластере два узла данных и четыре мастер‑узла, только один мастер‑узел может быть удалён в текущей операции масштабирования‑вниз. Формула: 4/2 = 2; и количество узлов, которое можно удалить, должно быть менее 2.
Тип узла | Диапазон значений |
|---|---|
Узлы данных |
|
Узлы master | 3, 5, 7 или 9 (должно быть нечётным числом от 3 до 9) |
Узлы клиента | 1–32 |
Узлы холодных данных | 1–32 |
Перед изменением ознакомьтесь с возможными воздействиями и рекомендациями по эксплуатации, а также разработайте план по минимизации этих воздействий.
Во время масштабирования вниз (scale-in) шардов на удаляемых узлах мигрируют на оставшиеся узлы. Этот процесс будет потреблять производительность I/O. Поэтому рекомендуется выполнять операцию в непиковые часы.
Чтобы минимизировать это влияние, рекомендуется регулировать скорость миграции данных в зависимости от цикла трафика кластера: увеличивать скорость миграции данных в часы низкой нагрузки, чтобы сократить длительность задачи, и уменьшать её до приходят часы пик, чтобы обеспечить оптимальную работу кластера. Скорость миграции данных определяется indices.recovery.max_bytes_per_sec параметр. Значение по умолчанию этого параметра равно количеству vCPU, умноженному на 32 MB. Например, для четырёх vCPU скорость миграции данных составляет 128 MB. Установите этот параметр в диапазоне от 40 MB до 1000 MB в зависимости от требований вашей службы.
PUT /_cluster/settings{"transient": {"indices.recovery.max_bytes_per_sec": "1000MB"}}
После scale-in оставшиеся узлы должны будут обрабатывать всю нагрузку кластера. Это может привести к повышенному использованию CPU, памяти и дискового I/O, влияя на производительность запросов и записей. Если шарды распределены неравномерно, могут возникнуть узкие места в производительности. Поэтому перед scale-in необходимо оценить, способны ли оставшиеся узлы обработать текущую нагрузку кластера.
После запуска задачу масштабирования нельзя остановить, пока она не завершится успешно или не закончится с ошибкой.
Следующую формулу можно использовать для оценки того, сколько времени займет операция масштабирования‑вниз:
Продолжительность масштабирования‑вниз (мин) = 5 (мин) x Количество узлов, подлежащих удалению + Продолжительность миграции данных (мин)
где 5 минут указывает, сколько обычно занимает операция, не связанная с миграцией данных (например, инициализация), на один узел. Это эмпирическое значение.
Продолжительность миграции данных (мин) = Общий объём данных узлов, которые будут удалены (MB) ÷ [Общее количество vCPUs данных узлов x 32 (MB/s) x 60 (s)]
где,
Следующую формулу можно использовать для оценки того, сколько времени займет операция уменьшения хранения узла:
Продолжительность уменьшения хранения узла (мин) = 15 (мин) x Количество узлов, которые будут изменены + Продолжительность миграции данных (мин)
где,
Продолжительность миграции данных (min) = Общий размер данных (MB)/[Общее количество vCPU узлов данных x 32 (MB/s) x 60 (s)]
где,
Параметр | Описание |
|---|---|
Действие | Выбрать Снизить масштаб. |
Ресурсы | Количество ресурсов уменьшено. |
Узлы | Уменьшить количество узлов в Узлы столбце. Вы можете изменить несколько типов узлов одновременно. Для диапазона количеств узлов, поддерживаемых каждым типом узла, см. Ограничения. |
Параметр | Описание |
|---|---|
Тип узла | Разверните тип узла, который необходимо изменить, чтобы отобразить все узлы под ним. Выберите узлы, которые хотите удалить. |
Во время миграции данных система переносит все данные с удаляемых узлов на оставшиеся узлы и удаляет эти узлы после завершения миграции данных. Если данные на удаляемых узлах имеют реплики на других узлах, миграцию данных можно пропустить, и изменение кластера будет выполнено быстрее.