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

Масштабирование Out/Up кластера Elasticsearch

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

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

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

Тип

Сценарий

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ограничения

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

    Тип узла

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

    Узлы данных

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

    Мастер‑узлы

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

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

    1–32

    Холодные узлы данных

    1–32

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

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

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

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

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

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

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

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

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

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

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

Предварительные требования

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

Добавление дополнительных узлов или увеличение ёмкости хранения узлов

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

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

    Параметр

    Описание

    Действие

    Выберите Масштабировать наружу.

    Ресурсы

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

    Узлы

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

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

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

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

  1. Войдите в консоль управления CSS.
  2. В левой навигационной панели выберите Кластеры > Elasticsearch.
  3. В списке кластеров найдите целевой кластер и выберите Больше > Изменить конфигурацию в Операция столбце. Эта Изменить конфигурацию страница отображается.
  4. На Изменить конфигурацию страница, выберите Добавить мастер/клиентские узлы вкладка.

    Если кластер уже имеет как мастер, так и клиентские узлы, то Добавить мастер/клиентский узел вкладка недоступна.

  5. На вкладке Добавить мастер/клиентские узлы настройте узлы.
    Таблица 4 Добавление мастер или клиентских узлов

    Параметр

    Описание

    Node types

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

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

    Node Specifications

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

    Nodes

    Задайте количество узлов для добавления. Диапазон значений см. Constraints.

    Node Storage Type

    Установите тип хранилища узла. Вместимость хранилища для каждого узла master или client зафиксирована на уровне 40 ГБ.

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

    Вернуться к странице списка кластеров. The Статус задачи кластера Масштабирование.

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

      Если версия кластера старее 7.x, когда Статус кластера изменяется на Доступнонеобходимо перезапустить все узлы данных и холодные узлы данных в кластере, чтобы новые узлы вступили в действие. В противном случае кластер может быть отмечен как недоступный. (Службы кластера продолжают работать корректно.) Подробнее см Перезапуск кластера Elasticsearch.

    • Если вы добавили клиентские узлы, вы можете определить, что они были успешно добавлены, когда Статус Кластера изменения Доступно. Вы можете перезапустить узлы данных и узлы холодных данных, чтобы остановить процессы Cerebro и Kibana на этих узлах.

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