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

Изменение спецификаций узла кластера OpenSearch

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

Если нагрузки на data plane кластера OpenSearch изменятся, вы можете масштабировать кластер вертикально, изменив спецификации узла или тип хранилища узла.

Таблица 1 Сценарии изменения

Тип изменения

Сценарий

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

Изменение спецификаций узла

Как правило, вы увеличиваете спецификации узла, а не уменьшаете их. Общие сценарии включают:

  • Если распределение новых индексов или шардов занимает слишком много времени или координация и планирование узлов неэффективны, увеличьте спецификации master‑узла.
  • Если необходимо обработать слишком много запросов или агрегировать слишком много результатов, увеличьте спецификации клиентского узла.
  • Если data‑узлы становятся медленнее в ответе на запросы записи данных и запросы к данным, увеличьте спецификации data‑узлов.
  • Если запросы к холодным данным становятся медленными, увеличьте спецификации узла холодных данных.
  • Если метрики CPU или JVM узлов кластера показывают узкие места в производительности, увеличьте спецификации узлов, чтобы улучшить производительность кластера.

При необходимости вы также можете уменьшить спецификации узлов, но это уменьшит возможности кластера по обработке данных и объёмам хранения. Будьте осторожны.

  1. Выведите узел из эксплуатации.
  2. Измените спецификации узла.
  3. Перезапустите узел и восстановите его данные.
  4. После восстановления узла перейдите к следующему узлу и повторите вышеуказанные шаги. Это продолжается, пока все узлы не будут изменены.

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

Изменение типа хранилища узла (тип диска)

Измените тип хранилища узла, если диск I/O стал узким местом производительности, влияющим на скорость запросов и запись.

  1. Выберите случайный узел и перенесите его данные на другие узлы.
  2. Пересоберите узел, используя новый тип хранилища.
  3. Добавьте узел обратно в кластер. Система автоматически запускает перераспределение шардов, перемещая некоторые шарды на новый узел.
  4. После восстановления узла перейдите к другому узлу и повторите вышеуказанные шаги.

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

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

Для кластера с оплатой по использованию вы можете увидеть его новую цену при подтверждении изменения спецификаций узла или типа хранилища в консоли. После завершения изменения будет применена новая цена. Для подробностей о ценах см. .

Ограничения

  • Спецификации узла и тип хранилища не могут быть изменены для узлов, использующих локальные диски.
  • Спецификации узла и тип хранилища не могут быть изменены одновременно.
  • Тип хранилища узла может быть изменен только для узлов с данными и узлов с холодными данными.
  • Когда вы меняете тип хранилища узла, данные необходимо перемещать между различными узлами. Тайм‑аут перемещения данных для каждого узла составляет 48 часов. Обновление завершится неудачно, если тайм‑аут истечёт. Если в кластере большое количество данных, рекомендуется вручную настроить скорость перемещения данных и избегать выполнения миграции в часы пик.
  • Для кластера без узлов‑мастеров тип хранилища узла может быть изменён только если количество узлов данных плюс узлов холодных данных составляет как минимум три.
  • Для кластера с узлами‑мастерами эта операция допускается только если в кластере имеется как минимум два узла данных.
  • Во время изменения типа хранилища узла всегда есть один недоступный узел. Чтобы обеспечить непрерывность обслуживания, убедитесь, что Общее количество узлов данных и узлов холодных данных должно быть больше максимального количества реплик индексов плюс 1. Для кластера с одним AZ или двумя AZ также убедитесь, что в каждом AZ кластера присутствует как минимум два узла каждого типа.
  • Во время изменения спецификаций узлов узлы выводятся из сети для внесения изменений. Чтобы обеспечить непрерывность обслуживания, убедитесь, что у всех шардов есть реплики.
  • Убедитесь, что использование диска всегда меньше 80% во время изменения.

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

Перед изменением характеристик узлов кластера или типа хранилища необходимо оценить потенциальные воздействия и ознакомиться с операционными рекомендациями. Это позволяет правильно спланировать изменение, минимизируя прерывания услуг.

  • Влияние на производительность (только при изменении типа хранилища узла)

    Изменение типа хранилища узла не приводит к прерыванию услуг. Однако миграция данных, происходящая в процессе, потребляет I/O‑производительность, и вывод отдельных узлов из эксплуатации всё ещё оказывает некоторое влияние на общую производительность кластера.

    Чтобы минимизировать это воздействие, рекомендуется регулировать скорость миграции данных в зависимости от цикла трафика кластера: увеличивать скорость миграции данных в непиковые часы, чтобы сократить продолжительность задачи, и уменьшать её до час пик приходят, чтобы обеспечить оптимальную производительность кластера. Скорость миграции данных определяется indices.recovery.max_bytes_per_sec parameter. Значение по умолчанию этого параметра равно числу vCPUs, умноженному на 32 MB. Например, для четырёх vCPUs скорость миграции данных составляет 128 MB. Установите этот параметр в диапазоне от 40 MB до 1000 MB в зависимости от требований вашего сервиса.

    PUT /_cluster/settings
    {
    "transient": {
    "indices.recovery.max_bytes_per_sec": "1000MB"
    }
    }

  • Влияние на обработку запросов

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

    • Используйте VPC endpoint или выделенный балансировщик нагрузки для обработки запросов доступа к вашему кластеру, что гарантирует автоматическую маршрутизацию запросов к доступным узлам.
    • Включите механизм экспоненциального отката & повторных попыток на клиенте (настройте три повторные попытки).
    • Выполняйте эту операцию в часы невысокой нагрузки.
  • Влияние на реплики индексов

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

  • Влияние на OpenSearch Dashboards и Cerebro

    Изменение типа хранилища узла для Кластер приведёт к перестройке OpenSearch Dashboards и Cerebro. В этот период они временно недоступны. При изменении спецификаций узла, если OpenSearch Dashboards и Cerebro станут недоступны из‑за вывода узла, на котором они работают, из офлайн, обновите веб‑страницу или попробуйте войти снова, и система переназначит их на доступный узел.

  • Характеристики этого процесса

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

Продолжительность изменения

  • Для оценки продолжительности изменения спецификаций узла можно использовать следующие формулы:

    Продолжительность изменения (мин) = 10 (мин) × Общее количество узлов для изменения + Время восстановления данных (мин)

    где,

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

    Продолжительность восстановления данных (мин) = Общий размер данных (МБ)/[Общее количество vCPU узлов данных x 32 (МБ/с) x 60 (с)]

    где,

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

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

    Продолжительность изменения (мин) = 15 (мин) x Общее количество узлов для изменения + Продолжительность миграции данных (мин)

    где,

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

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

    где,

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

Требования

  • Состояние кластера Доступно, и нет выполняющихся заданий.
  • Ваши квоты ресурсов CSS достаточны для расширения ёмкости, которое вы собираетесь выполнить. Вы можете проверить доступные ресурсы на Изменить конфигурацию страница.
  • Все критически важные данные были бэкапированы перед изменением типа хранения узла. Это необходимо для предотвращения потери данных. Подробности смотрите Создание Снапшотов для бэкапа данных кластера OpenSearch.

Изменение спецификаций узла и типа хранилища

  1. Войдите в консоль управления CSS.
  2. В навигационной панели слева выберите Кластеры > OpenSearch.
  3. Убедитесь, что все данные службы имеют реплики, чтобы сервисы не были прерваны во время изменения спецификаций.
    1. В списке кластеров найдите целевой кластер и нажмите Дашборд в Операция столбце, чтобы войти в OpenSearch Дашборд.
    2. В левой навигационной панели выберите Dev Tools.
    3. Запустите GET _cat/indices?v команду в OpenSearch Дашборд.
  4. В списке кластеров найдите целевой кластер и выберите More > Modify Configuration в Operation столбец. Эта Modify Configuration страница отображается.
  5. Нажмите Scale Cluster вкладка.
  6. Нажмите Изменить спецификации для установки параметров.
    Таблица 2 Изменение спецификаций

    Параметр

    Описание

    Действие

    Выбрать Изменить спецификации.

    Ресурсы

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

    Узлы

    Настройте изменения, которые вы хотите сделать.

    1. Выберите тип узла в Тип узла столбец.
    2. Выберите новый Флейвор в Спецификации узла столбце, или выберите новый тип хранилища в Хранилище узла столбце.

    Спецификации узла и тип хранилища нельзя менять одновременно.

  7. Нажмите Далее.
  8. Подтвердите информацию и нажмите Отправить.
  9. В отображаемом диалоговом окне подтвердите отмеченные пункты и нажмите OK чтобы начать изменение спецификаций.
    • Пункты проверки для изменения спецификаций узла: Проверьте копии индекса и Проверка статуса Кластера.
    • Пункты проверки для изменения типа хранилища узла: Проверка нагрузки Кластера.
    Таблица 3 Проверить описание элемента

    Элемент

    Описание

    Проверить копии индексов

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

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

    Проверка статуса кластера

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

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

    Проверить нагрузку кластера

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

    Элементы проверки нагрузки кластера следующие:

    • nodes.thread_pool.search.queue < 1000: Убедитесь, что максимальное количество запросов в очереди поиска меньше 1000.
    • nodes.thread_pool.write.queue < 200: Проверьте, что максимальное количество запросов в очереди записи меньше 200.
    • nodes.process.cpu.percent < 90: Проверьте, что максимальное использование CPU ниже 90%.
    • nodes.os.cpu.load_average/Number of vCPUs < 80%: Проверьте, что количество работающих процессов плюс количество процессов, ожидающих CPU, меньше 80% от общего количества vCPUs.
    Note

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

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