Если кластер Elasticsearch сталкивается с трудностями поддержания производительности из‑за быстрого роста данных или продолжительного высокого использования памяти, вы можете масштабировать его горизонтально, добавив больше узлов и типы узлов, или вертикально, увеличив ёмкость хранилища существующих узлов.
Type | Scenario | Change Process |
|---|---|---|
Добавление новых узлов | Если кластер сталкивается с быстрым ростом данных или продолжительным высоким использованием памяти, вы можете добавить к нему больше узлов, чтобы повысить доступность кластера. | Процедура добавления узлов данных или узлов холодных данных:
Добавление master‑ или client‑узлов не инициирует миграцию данных. Во время расширения ёмкости система гарантирует, что каждый shard имеет как минимум одну доступную реплику, обеспечивая непрерывность сервиса. |
Добавление master‑узлов | По мере роста объёма данных вашего кластера вы можете повысить его стабильность и надёжность, добавив выделенные master nodes для более эффективного управления узлами кластера. | Процедура добавления нового типа узла: добавьте новые узлы и измените конфигурацию кластера. Добавление master nodes не инициирует миграцию данных и, следовательно, не прерывает работу сервисов. |
Добавление client nodes | Для обработки увеличенных запросов и нагрузок записи по мере роста объёма данных вашего кластера вы можете добавить выделенные client nodes. Это разгружает обработку запросов с ваших data nodes, повышая общую масштабируемость кластера. | Процедура добавления нового типа узла: добавьте новые узлы и измените конфигурацию кластера. Добавление client nodes не инициирует миграцию данных и, следовательно, не прерывает работу сервисов. Однако при добавлении client nodes адрес кластера меняется с адреса data node на адрес client node. Необходимо обновить конфигурацию клиента, чтобы использовать новый адрес. В противном случае client nodes не смогут работать. |
Добавление cold data nodes | По мере постоянного роста объёма данных вашего кластера у вас может появиться большое количество исторических данных, к которым обращаются редко, но они всё ещё полезны для аналитических целей. Чтобы оптимизировать как затраты на хранение, так и производительность запросов, вы можете добавить cold data nodes для хранения таких данных. | Процедура добавления нового типа узла: добавьте новые узлы и измените конфигурацию кластера. Добавление cold data nodes не инициирует миграцию данных и, следовательно, не прерывает работу сервисов. |
Увеличение ёмкости хранилища узлов |
|
Расширение ёмкости диска не прервет текущие сервисы. |
Для кластера с оплатой по использованию вы можете увидеть его новую цену при подтверждении scale-out или scale-up в console. После завершения изменения кластер будет выставлен в счет по новой цене.
Node Type | Value Range |
|---|---|
Data nodes |
|
Узлы master | 3, 5, 7 или 9 (должно быть нечётным числом от 3 до 9) |
Клиентские узлы | 1~64 |
Узлы холодных данных | 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 недоступна.
Параметр | Описание |
|---|---|
Node types | Выберите тип узлов, которые вы хотите добавить.
|
Node Specifications | Выберите спецификации узлов в соответствии с требованиями площадки. |
Nodes | Установите количество узлов для добавления. Диапазон значений см. в Constraints. |
Node Storage Type | Установите тип хранилища узла. Емкость хранилища на каждый мастер‑узел или клиентский узел фиксирована и составляет 40 ГБ. |
Вернитесь на страницу списка кластеров. Task Status кластера — Scaling out. Когда Cluster Status меняется на Available, узлы успешно добавлены.
Подробности о операции перезапуска см. в Restarting a Cluster.