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

Масштабирование наружу/вверх

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

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

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

Тип

Сценарий

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

Добавление новых узлов

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

Процедура добавления узлов данных или узлов холодных данных:

  1. Добавляются новые узлы, и конфигурация кластера изменяется.
  2. Автоматически запускается перераспределение шардов для переназначения некоторых шардов на только что добавленные узлы.
  3. После завершения перераспределения новые узлы начинают обрабатывать запросы на поиск и индексацию.

Добавление мастер‑узлов или клиентских узлов не инициирует миграцию данных.

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

Добавление мастер‑узлов

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

Процедура добавления нового типа узлов: добавить новые узлы и изменить конфигурацию Кластера. Добавление master‑узлов не инициирует миграцию данных и, следовательно, не прерывает сервисы.

Добавление client‑узлов

Чтобы справиться с ростом запросов и нагрузкой на запись по мере увеличения объёма данных вашего Кластера, вы можете добавить выделенные client‑узлы. Это разгружает обработку запросов с ваших data‑узлов, повышая общую масштабируемость Кластера.

Процедура добавления нового типа узлов: добавить новые узлы и изменить конфигурацию Кластера. Добавление client‑узлов не инициирует миграцию данных и, следовательно, не прерывает сервисы.

Однако при добавлении client‑узлов адрес Кластера меняется с адреса data‑узла на адрес client‑узла. Необходимо обновить конфигурацию клиента, чтобы использовать новый адрес. В противном случае client‑узлы не смогут работать.

Добавление cold data узлов

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

Процедура добавления нового типа узлов: добавить новые узлы и изменить конфигурацию Кластера. Добавление cold data узлов не инициирует миграцию данных и, следовательно, не прерывает сервисы.

Увеличение ёмкости хранилища узлов

  • Если Кластер сталкивается с быстрым ростом данных и его ёмкость хранилища становится недостаточной, вы можете расширить ёмкость хранилища узлов Кластера.
  • Если использование диска Кластера остаётся высоким, вы можете расширить ёмкость хранилища узлов Кластера.
  1. Запрос отправляется в сервис EVS для расширения ёмкости дисков всех узлов Кластера.
  2. После того как EVS расширит ёмкость диска, размер существующих дисковых томов увеличивается на всех узлах Кластера.

Расширение ёмкости диска не прервет текущие сервисы.

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

Для кластера с оплатой по использованию вы можете увидеть его новую цену при подтверждении масштабирования (scale-out) или увеличения (scale-up) в консоли. После завершения изменения кластер будет оплачиваться по новой цене.

Ограничения

  • Ёмкость хранилища узлов кластера может быть только увеличена — не уменьшена. Выберите подходящую ёмкость хранилища узлов, исходя из объёма данных и прогнозируемого роста данных.
  • Ёмкость хранилища мастер‑ и клиентских узлов в кластере не может быть расширена.
  • Ёмкость хранилища узлов данных, использующих локальные диски, не может быть расширена.
  • Для многозонального кластера общее количество клиентских узлов должно быть больше или равно количеству AZ. (Для кластера, охватывающего две зоны, это минимум два клиентских узла; для развертывания в трёх зонах — минимум три клиентских узла.)
  • Принципы добавления холодных узлов данных в многозональный кластер:
    • Требование к количеству узлов: В двухзональном кластере должен быть не менее четырёх холодных узлов данных (по два в каждой зоне); а в трёхзональном кластере должен быть не менее трёх холодных узлов данных (по одному в каждой зоне).
    • Повышение производительности: Чтобы предотвратить неравномерное распределение данных и обеспечить оптимальную производительность запросов и загрузки, количество холодных узлов данных должно быть целым кратным количеству AZ.
  • Для диапазона количества узлов, поддерживаемого каждым типом узлов, см. Table 2.
    Table 2 Диапазоны количества узлов

    Node Type

    Value Range

    Data nodes

    • Без master nodes: от 1 до 32
    • С master nodes: от 1 до 200

    Master nodes

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

    Client nodes

    1~64

    Cold data nodes

    1–32

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

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

Увеличение ёмкости хранилища узлов кластера (вертикальное масштабирование) не влияет на сервисы, тогда как добавление новых узлов или новых типов узлов (горизонтальное масштабирование) может иметь следующие последствия:

  • Влияние на производительность

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

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

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

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

    После запуска задачу масштабирования нельзя остановить, пока она не завершится успешно или не завершится с ошибкой.

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

  • Для добавления новых узлов или новых типов узлов (горизонтальное масштабирование) требуется от 10 до 30 минут, в зависимости от возможностей планирования кластера.
  • Для расширения ёмкости хранилища узлов кластера (вертикальное масштабирование) требуется от 10 до 15 минут.

Требования

  • Статус кластера Available, и нет текущих задач.
  • Ваши квоты ресурсов CSS достаточны для предстоящего расширения ёмкости. Вы можете проверить доступные ресурсы на странице Modify Configuration.

Добавление узлов или увеличение ёмкости хранилища узлов

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

  1. Войдите в консоль управления CSS.
  2. В панели навигации слева выберите Clusters > OpenSearch.
  3. В списке кластеров найдите целевой кластер и выберите More > Modify Configuration в столбце Operation. Отобразится страница Modify Configuration.
  4. Нажмите вкладку Scale Cluster.
  5. Установите необходимые параметры.
    Table 3 Добавление узлов или увеличение ёмкости хранилища узлов

    Параметр

    Описание

    Действие

    Выберите Scale out.

    Ресурсы

    Количество добавленных ресурсов.

    Nodes

    Увеличьте количество узлов и ёмкость хранилища узлов в столбцах Nodes и Node Storage Type. Вы можете изменить несколько типов узлов одновременно.

    • Для диапазона количества узлов, поддерживаемого каждым типом узла, см. Constraints.
    • Диапазон значений ёмкости хранилища узла определяется выбранным флейвором узла. Значение должно быть кратно 20.
  6. Нажмите Next.
  7. Подтвердите информацию и нажмите Submit.
  8. Нажмите Back to Cluster List чтобы вернуться на страницу Clusters. Task StatusScaling out. Когда Cluster Status меняется на Available, кластер успешно масштабирован.

Добавление новых типов узлов

Для кластера, в котором нет выделенных master‑, client‑ или cold‑data узлов, по мере увеличения нагрузки на его плоскость данных вы можете динамически добавлять такие узлы, чтобы распределить нагрузку с узлов данных.

  1. Войдите в консоль управления CSS.
  2. В левой панели навигации выберите Clusters > OpenSearch.
  3. В списке кластеров найдите целевой кластер и выберите More > Modify Configuration в столбце Operation. Отобразится страница Modify Configuration.
  4. Нажмите вкладку Add Node Types.

    Если кластер уже имеет выделенные master‑, client‑ и cold data‑узлы, вкладка Add Node Types недоступна.

  5. На вкладке Add Node Types настройте узлы.
    Table 4 Добавление новых типов узлов

    Parameter

    Description

    Node types

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

    • Отображаются только те типы узлов, которые кластер ещё не имеет. Например, если кластер уже имеет выделенные master‑узлы, отображаются только Client Node и Cold Data Node.
    • За один раз можно добавить только один тип узлов. Например, если необходимо добавить как master‑, так и client‑узлы, эту задачу нужно выполнить дважды.

    Node Specifications

    Выберите спецификации узлов в соответствии с требованиями площадки.

    Nodes

    Установите количество узлов, которые необходимо добавить для данного типа узлов. Диапазон значений см. в Constraints.

    Node Storage Type

    Установите node storage type.

    Объём хранилища на каждый мастер‑узел или клиентский узел фиксирован и составляет 40 GB.

  6. Нажмите Next.
  7. Подтвердите информацию и нажмите Submit.

    Вернитесь на страницу списка кластеров. Статус задачи Task Status кластера — Scaling out. Когда Cluster Status меняется на Available, узлы успешно добавлены.

    • При добавлении клиентских узлов вы можете выбрать, перезапускать ли узлы данных и узлы холодных данных, а также выводить процессы Cerebro и OpenSearch Dashboards из онлайн‑режима после того, как Cluster Status изменится на Available. Это помогает избежать конфликтов.
    • При добавлении узлов холодных данных необходимо перезапустить узлы данных для активации горячего тега после того, как Cluster Status изменится на Available. Это гарантирует корректную работу узлов холодных данных. После добавления узлов холодных данных вручную перенесите в них исторические данные. Подробности см. в Switching Between Hot and Cold Data.

    Подробности об операции перезапуска см. в Restarting a Cluster.

Related Documents

  • Вы также можете обновить характеристики узла и изменить тип диска EVS кластера OpenSearch. Подробности см. в Changing Node Specifications.
  • Во время расширения ёмкости, если ресурсы в AZ становятся недостаточными, вы можете перенести узлы из этого AZ в другой AZ с достаточными ресурсами, а затем выполнить расширение ёмкости в новом AZ. Подробности см. в Switching AZs.