Облачная платформаAdvanced

Масштабирование In/Down кластера OpenSearch

Эта статья полезна?
Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

Если кластер OpenSearch имеет избыточные ресурсы из‑за непикового трафика или уменьшенных объёмов данных, вы можете уменьшить количество его узлов для оптимизации расходов.

Таблица 1 Сценарии масштабирования

Тип

Сценарий

Процесс изменения

Случайное удаление узлов

Случайным образом удаляет узлы кластера для оптимизации расходов.

  1. Переместите шард(ы) с удаляемых узлов на оставшиеся узлы.
  2. После миграции данных выведите узлы из сети и измените конфигурацию кластера.

Узлы удаляются по одному, чтобы избежать прерывания услуг.

Удаление указанных узлов

Удаляет указанные узлы кластера для оптимизации расходов.

Влияние на биллинг

Для pay-per-use Кластера вы можете увидеть его новую цену при подтверждении scale-in в консоли. После завершения scale-in новая цена будет применяться.

Ограничения

  • Во время scale-in данные на узлах, которые будут удалены, необходимо перенести на оставшиеся узлы. Таймаут переноса данных для каждого узла составляет 48 часов. Scale-in завершится с ошибкой, если этот таймаут истечёт. Когда в Кластере большое количество данных, рекомендуется вручную регулировать скорость переноса данных и избегать выполнения переноса в часы пик.
  • Для Кластера без мастер‑узлов:
    • Scale-in разрешён только если количество узлов данных плюс узлов холодных данных составляет не менее трёх.
    • Во время scale-in можно удалить менее половины узлов данных плюс узлов холодных данных.

      Например, если в Кластере три узла данных, три клиентских узла и три узла холодных данных, одновременно можно удалить максимум два узла. Формула: (3+3)/2 = 3; и количество узлов, которое можно удалить, должно быть меньше 3.

    • Для обеспечения надёжности данных оставшееся количество узлов данных плюс узлов холодных данных после scale-in должно быть больше максимального количества реплик индексов.

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

  • Для кластера с мастер‑узлами:
    • Узлы, не являющиеся мастер‑узлами (узлы данных, клиентские узлы или узлы холодных данных): для каждого типа узлов количество узлов должно быть не менее 2, прежде чем вы сможете приступить к операции масштабирования.
    • Мастер‑узлы: для каждой операции масштабирования вы можете удалить меньше половины мастер‑узлов.

      Например, если в кластере есть два узла данных и четыре мастер‑узла, только один мастер‑узел может быть удалён в текущей операции масштабирования. Формула: 4/2 = 2; и количество узлов, которые можно удалить, должно быть меньше 2.

  • После масштабирования использование диска узлов кластера должно быть менее 80%.
  • После масштабирования в каждом AZ должен быть хотя бы один узел каждого типа. Для кластера, охватывающего несколько AZ, разница между количествами узлов одного типа в разных AZ не должна превышать 1.
  • Для диапазона количества узлов, поддерживаемых каждым типом узла, см Таблица 2.
    Таблица 2 Диапазоны количества узлов

    Тип узла

    Диапазон значений

    Узлы данных

    • Без узлов мастера: 1 до 32
    • С узлами мастера: 1 до 200

    Узлы мастера

    3, 5, 7 или 9 (должно быть нечётным числом от 3 до 9)

    Клиентские узлы

    1–32

    Узлы холодных данных

    1–32

Влияние изменения

Перед изменением изучите возможные воздействия и рекомендации по эксплуатации, а также разработайте план по минимизации этих воздействий.

  • Производительность

    Во время масштабирования вниз шарды на удаляемых узлах мигрируют на оставшиеся узлы. Этот процесс будет потреблять I/O производительность. Поэтому рекомендуется выполнять операцию в часы с низкой нагрузкой.

    Чтобы минимизировать это влияние, рекомендуется регулировать скорость миграции данных в зависимости от цикла трафика кластера: увеличить скорость миграции данных в непиковые часы, чтобы сократить длительность задачи, и уменьшить её до приход пиковых часов обеспечивает оптимальную производительность кластера. Скорость миграции данных определяется indices.recovery.max_bytes_per_sec параметр. Значение по умолчанию этого параметра равно количеству vCPUs, умноженному на 32 MB. Например, для четырёх vCPUs скорость миграции данных составляет 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 минут указывает, сколько обычно занимает выполнение операций, не связанных с миграцией данных (например, инициализация) на каждый узел. Это эмпирическое значение.

Длительность миграции данных (мин) = Общий объём данных узлов, подлежащих удалению (МБ) ÷ [Общее количество vCPU данных узлов x 32 (МБ/с) x 60 (с)]

где,

  • 32 МБ/с указывает, что каждый vCPU может обрабатывать 32 МБ данных в секунду. Это эмпирическое значение.
  • Приведённые выше формулы используют оценки при идеальных условиях. Фактическая скорость миграции зависит от нагрузки кластера.

Следующую формулу можно использовать для оценки того, сколько времени займет операция уменьшения хранения узла:

Продолжительность уменьшения хранения узла (мин) = 15 (мин) x Количество узлов, подлежащих изменению + Длительность миграции данных (мин)

где,

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

Продолжительность миграции данных (мин) = Общий размер данных (MB)/[Общее количество vCPU дата‑узлов × 32 (MB/s) × 60 (s)]

где,

  • 32 MB/s указывает, что каждый vCPU может обрабатывать 32 MB данных в секунду. Это эмпирическое значение.
  • Приведённые выше формулы используют оценки при идеальных условиях. Фактическая скорость миграции зависит от нагрузки кластера.

Требования

Удаление Узлов Случайным Образом

  1. Войдите в консоль управления CSS.
  2. В навигационной панели слева выберите Кластеры > OpenSearch.
  3. В списке кластеров найдите целевой кластер и выберите Больше > Изменить конфигурацию в Операция столбце. Страница Изменить конфигурацию страница отображается.
  4. Нажмите Масштабировать кластер вкладку.
  5. Нажмите Уменьшить масштаб для установки параметров.
    Таблица 3 Случайное удаление узлов

    Параметр

    Описание

    Действие

    Выбрать Уменьшить масштаб.

    Ресурсы

    Уменьшено количество ресурсов.

    Узлы

    Уменьшить количество узлов в Узлы колонке. Вы можете изменить несколько типов узлов одновременно.

    Для диапазона количеств узлов, поддерживаемых каждым типом узла, смотрите Ограничения.

  6. Нажмите Далее.
  7. Подтвердите информацию и нажмите Отправить.
  8. Нажмите Назад к списку кластеров вернуться к Кластеры страница. Статус задачи это Масштабирование. Когда Статус кластера изменения в Доступно, кластер успешно масштабирован.

Удаление указанных узлов

  1. Войдите в консоль управления CSS.
  2. В навигационной панели слева выберите Кластеры > OpenSearch.
  3. В списке кластеров найдите целевой кластер и выберите Больше > Изменить конфигурацию в Операция столбец. Эта Изменить конфигурацию страница отображается.
  4. На Изменить конфигурацию страница, нажмите Уменьшить количество узлов вкладка.
  5. Установить параметры уменьшения.
    Таблица 4 Удаление указанных узлов (Уменьшение узлов)

    Параметр

    Описание

    Тип узла

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

  6. Нажмите Далее.
  7. Подтвердите информацию об изменении и нажмите Отправить. В диалоговом окне подтверждения выберите миграцию данных, что помогает предотвратить потерю данных, и нажмите OK.

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

  8. Нажмите Назад к списку кластеров чтобы вернуться к Кластеры страница. Task Status является Снижение масштабирования. Когда Cluster Status изменяется на Доступен, кластер был успешно уменьшен.

Связанные документы

  • Для кластера OpenSearch вы также можете оптимизировать расходы, изменив спецификации узлов и типы дисков EVS. Для получения подробной информации см. Изменение спецификаций узлов кластера OpenSearch.
  • Если вы хотите уменьшить количество узлов кластера, даже если ваш кластер не подходит для операции масштабирования вниз, вы можете просто создать новый кластер. Затем вы можете перенести данные в новый кластер, используя снапшоты, и удалить старый кластер после миграции данных.