Если кластер OpenSearch сталкивается с трудностями поддержания производительности при быстром росте данных или длительном высоком использовании памяти, вы можете масштабировать его горизонтально, добавив больше узлов и типы узлов, или вертикально, увеличив ёмкость хранилища существующих узлов.
Тип | Сценарий | Процесс изменения |
|---|---|---|
Добавление новых узлов | Если кластер сталкивается с быстрым ростом данных или длительным высоким использованием памяти, вы можете добавить к нему больше узлов, чтобы повысить доступность кластера. | Процедура добавления узлов данных или узлов холодных данных:
Добавление мастер‑узлов или клиентских узлов не инициирует миграцию данных. Во время расширения ёмкости система гарантирует, что каждый шард имеет как минимум одну доступную реплику, обеспечивая непрерывность сервиса. |
Добавление мастер‑узлов | По мере роста объёма данных вашего Кластера вы можете повысить его стабильность и надёжность, добавив выделенные master‑узлы для более эффективного управления узлами Кластера. | Процедура добавления нового типа узлов: добавить новые узлы и изменить конфигурацию Кластера. Добавление master‑узлов не инициирует миграцию данных и, следовательно, не прерывает сервисы. |
Добавление client‑узлов | Чтобы справиться с ростом запросов и нагрузкой на запись по мере увеличения объёма данных вашего Кластера, вы можете добавить выделенные client‑узлы. Это разгружает обработку запросов с ваших data‑узлов, повышая общую масштабируемость Кластера. | Процедура добавления нового типа узлов: добавить новые узлы и изменить конфигурацию Кластера. Добавление client‑узлов не инициирует миграцию данных и, следовательно, не прерывает сервисы. Однако при добавлении client‑узлов адрес Кластера меняется с адреса data‑узла на адрес client‑узла. Необходимо обновить конфигурацию клиента, чтобы использовать новый адрес. В противном случае client‑узлы не смогут работать. |
Добавление cold data узлов | По мере постоянного роста объёма данных вашего Кластера у вас может появиться большое количество исторических данных, к которым обращаются редко, но они всё ещё полезны для аналитических целей. Чтобы оптимизировать как затраты на хранение, так и производительность запросов, вы можете добавить cold data узлы для их хранения. | Процедура добавления нового типа узлов: добавить новые узлы и изменить конфигурацию Кластера. Добавление cold data узлов не инициирует миграцию данных и, следовательно, не прерывает сервисы. |
Увеличение ёмкости хранилища узлов |
|
Расширение ёмкости диска не прервет текущие сервисы. |
Для кластера с оплатой по использованию вы можете увидеть его новую цену при подтверждении масштабирования (scale-out) или увеличения (scale-up) в консоли. После завершения изменения кластер будет оплачиваться по новой цене.
Node Type | Value Range |
|---|---|
Data nodes |
|
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. Вы можете изменить её в соответствии с требованиями сервиса.
После запуска задачу масштабирования нельзя остановить, пока она не завершится успешно или не завершится с ошибкой.
Если кластер сталкивается с быстрым ростом данных или продолжительным высоким использованием памяти, вы можете добавить к нему дополнительные узлы или увеличить ёмкость хранилища узлов кластера. Это помогает повысить доступность и надёжность сервиса и данных.
Параметр | Описание |
|---|---|
Действие | Выберите Scale out. |
Ресурсы | Количество добавленных ресурсов. |
Nodes | Увеличьте количество узлов и ёмкость хранилища узлов в столбцах Nodes и Node Storage Type. Вы можете изменить несколько типов узлов одновременно.
|
Для кластера, в котором нет выделенных master‑, client‑ или cold‑data узлов, по мере увеличения нагрузки на его плоскость данных вы можете динамически добавлять такие узлы, чтобы распределить нагрузку с узлов данных.
Если кластер уже имеет выделенные master‑, client‑ и cold data‑узлы, вкладка Add Node Types недоступна.
Parameter | Description |
|---|---|
Node types | Выберите тип узлов, которые необходимо добавить.
|
Node Specifications | Выберите спецификации узлов в соответствии с требованиями площадки. |
Nodes | Установите количество узлов, которые необходимо добавить для данного типа узлов. Диапазон значений см. в Constraints. |
Node Storage Type | Установите node storage type. Объём хранилища на каждый мастер‑узел или клиентский узел фиксирован и составляет 40 GB. |
Вернитесь на страницу списка кластеров. Статус задачи Task Status кластера — Scaling out. Когда Cluster Status меняется на Available, узлы успешно добавлены.
Подробности об операции перезапуска см. в Restarting a Cluster.