В сценариях приложений big data, особенно при анализе и обработке данных в режиме реального времени, количество узлов кластера необходимо динамически регулировать в соответствии с изменениями объёма данных для обеспечения надлежащих ресурсов. Функция Auto Scaling сервиса MRS позволяет кластерам автоматически масштабироваться наружу или внутрь в зависимости от нагрузки кластера.
Вы можете настроить либо правила Auto Scaling, либо планы ресурсов, либо оба, чтобы инициировать Auto Scaling.
В следующем примере описывается, как использовать одновременно правила Auto Scaling и планы ресурсов:
Служба обработки в реальном времени наблюдает нестабильный рост объёма данных с 7:00 до 13:00 в понедельник, вторник и субботу. Например, от 5 до 8 узлов задач требуется с 7:00 до 13:00 в понедельник, вторник и субботу, а за пределами этого периода требуется от 2 до 4.
Вы можете задать правило автоматического масштабирования на основе плана ресурсов. Когда объём данных превышает ожидаемое значение, количество узлов задач меняется в зависимости от нагрузки ресурсов, не превышая диапазон узлов, указанный в плане ресурсов. При срабатывании плана ресурсов количество узлов изменяется в пределах указанного диапазона с минимальным влиянием. То есть увеличьте количество узлов до верхнего предела и уменьшите до нижнего предела.
Вы можете масштабировать кластер MRS, вручную добавляя узлы задач.
Чтобы добавить узел задачи в пользовательский кластер, выполните следующие действия:
Рисунок 1 Добавление группы узлов задачи

Чтобы добавить узел задачи в нестандартный кластер, выполните следующие действия:
Диапазон времени: Установите его в 07:00-13:00.
Диапазон узлов: Установите значение 5-8.
Имя правила: default-expand-2.
Если: Выберите объекты правила и ограничения из выпадающих списков, например, YARNAppRunning больше 75.
Длительность: Установите значение 1 пяти‑минутный период.
Добавить: Установите 1 узел.
Период отката: Установите 20 минут.
При добавлении правила вы можете обратиться к Таблица 1 для настройки соответствующих метрик.
Тип кластера | Метрика | Тип значения | Описание |
|---|---|---|---|
Потоковый кластер | StormSlotAvailable | Целое | Количество доступных Storm слотов. Диапазон значений: 0 до 2147483646. |
StormSlotAvailablePercentage | Percentage | Процент доступных слотов Storm, то есть доля доступных слотов от общего количества слотов. Диапазон значений: 0 до 100. | |
StormSlotUsed | Integer | Количество используемых слотов Storm. Диапазон значений: 0 до 2147483646. | |
StormSlotUsedPercentage | Percentage | Процент используемых слотов Storm, то есть доля используемых слотов от общего количества слотов. Диапазон значений: 0 до 100. | |
StormSupervisorMemAverageUsage | Integer | Среднее потребление памяти процессом Supervisor в Storm. Диапазон значений: 0 до 2147483646. | |
StormSupervisorMemAverageUsagePercentage | Percentage | Средний процент использованной памяти процесса Supervisor в Storm от общей памяти системы. Диапазон значений: 0 до 100. | |
StormSupervisorCPUAverageUsagePercentage | Процент | Средний процент использованных CPU процесса Supervisor в Storm от общего количества CPU. Диапазон значений: [0, 6000]. | |
Кластер анализа | YARNAppPending | Целое число | Количество ожидающих задач в Yarn. Диапазон значений: 0 до 2147483646. |
YARNAppPendingRatio | Соотношение | Соотношение ожидающих задач в Yarn, то есть отношение ожидающих задач к запущенным задачам в Yarn. Диапазон значений: 0 до 2147483646. | |
YARNAppRunning | Целое число | Количество запущенных задач на Yarn. Диапазон значений: 0 до 2147483646. | |
YARNContainerAllocated | Целое | Количество контейнеров, выделенных YARN. Диапазон значений: 0 до 2147483646. | |
YARNContainerPending | Целое | Количество ожидающих контейнеров на Yarn. Диапазон значений: 0 до 2147483646. | |
YARNContainerPendingRatio | Отношение | Отношение ожидающих контейнеров в Yarn, то есть отношение ожидающих контейнеров к запущенным контейнерам в Yarn. Диапазон значений: 0 до 2147483646. | |
YARNCPUAllocated | Целое | Количество виртуальных процессоров (vCPUs), выделенных Yarn. Диапазон значений: 0 до 2147483646. | |
YARNCPUAvailable | Integer | Количество доступных vCPU на Yarn. Диапазон значений: 0 до 2147483646. | |
YARNCPUAvailablePercentage | Процент | Процент доступных vCPU на Yarn, то есть отношение доступных vCPU к общему количеству vCPU. Диапазон значений: 0 до 100. | |
YARNCPUPending | Integer | Количество ожидающих vCPU на Yarn. Диапазон значений: 0 до 2147483646. | |
YARNMemoryAllocated | Integer | Память, выделенная Yarn. Единица измерения — MB. Диапазон значений: 0 до 2147483646. | |
YARNMemoryAvailable | Integer | Доступная память на Yarn. Единица измерения — MB. Диапазон значений: 0 до 2147483646. | |
YARNMemoryAvailablePercentage | Процент | Процент доступной памяти в Yarn, то есть отношение доступной памяти к общей памяти в Yarn. Диапазон значений: 0 до 100. | |
YARNMemoryPending | Целое | Ожидающая память в Yarn. Диапазон значений: 0 до 2147483646. |
При добавлении плана ресурсов вы можете задать параметры, ссылаясь на Таблица 2.
Параметр | Описание |
|---|---|
Эффективно с | Дата начала действия плана ресурсов. Ежедневно выбирается по умолчанию. Вы также можете выбрать один или несколько дней с понедельника по воскресенье. |
Диапазон времени | Время начала и время окончания плана ресурса точны до минут, значения находятся в пределах от 00:00 до 23:59. Например, если план ресурса начинается в 8:00 и заканчивается в 10:00, задайте этот параметр значение 8:00-10:00. Время окончания должно быть минимум на 30 минут позже времени начала. Диапазоны времени, настроенные для разных планов ресурсов, не могут перекрываться. |
Диапазон узлов | Количество узлов в плане ресурса находится в диапазоне от 0 до 500. В течение диапазона времени, указанного в плане ресурсов, если количество узлов задачи меньше указанного минимального количества узлов, оно будет увеличено до указанного минимального значения диапазона узлов за один раз. Если количество узлов задачи превышает максимальное количество узлов, указанное в плане ресурсов, функция автошкалирования уменьшит количество узлов задачи до максимального значения диапазона узлов за один раз. Минимальное количество узлов должно быть меньше или равно максимальному количеству узлов. |