配置MRS集群弹性伸缩
在大数据应用,尤其是实时分析处理数据的场景中,常常需要根据数据量的变化动态调整集群节点数量以增减资源。MRS的弹性伸缩规则功能支持根据集群负载对集群进行弹性伸缩。
- 弹性伸缩规则:根据集群实时负载对Task节点数量进行调整,数据量变化后触发扩缩容,有一定的延后性。
- 资源计划(按时间段设置Task节点数量范围):若数据量变化存在周期性规律,则可通过资源计划在数据量变化前提前完成集群的扩缩容,避免出现增加或减少资源的延后。
弹性伸缩规则与资源计划均可触发弹性伸缩,两者至少配置其中一种,也可以叠加使用。本入门指导您快速根据实际业务场景配置MRS集群的弹性伸缩规则。
本指导的基本内容如下所示:
创建集群并配置Task节点

- 本操作以快速购买一个MRS 3.1.0版本的Hadoop分析集群为例进行说明。
- 仅Task类型节点组支持配置弹性伸缩,在配置弹性伸缩前请先检查当前集群是否有Task节点。
- 登录华为云管理控制台,选择“大数据 > MapReduce服务 MRS”,单击“购买集群”,选择“快速购买”,填写软件配置参数,单击“立即购买”。
表1 参数配置(以下参数仅供参考,可根据实际情况调整) 参数项
取值
区域
根据实际情况选择
计费模式
按需计费
集群名称
MRS_demo
集群版本
MRS 3.1.0
组件选择
Hadoop分析集群
可用区
可用区2
虚拟私有云
vpc-gggg
子网
subnet-64db
企业项目
default
Kerberos认证
不开启
用户名
root/admin
密码
设置密码登录集群管理页面及ECS节点用户的密码,例如:Test!@12345。
确认密码
再次输入设置用户密码
通信安全授权
勾选“确认授权”
- 等待集群创建成功后,进入集群,选择“节点管理”页签,查看当前集群是否有Task节点。
- 是,操作完成。
- 否,请执行3。
- 配置Task节点。
场景一:单独使用弹性伸缩规则
例如业务场景如下:
需要根据Yarn资源使用情况动态调整节点数,在Yarn可用内存低于20%时扩容5个节点,可用内存高于70%时缩容5个节点。Task节点组最高不超过10个节点,最低不少于1个节点。
- 参考创建集群并配置Task节点创建集群并配置Task节点。
- 在MRS管理控制台,选择“集群列表 > 现有集群”,单击待操作的集群名称,进入集群详情页面。
- 单击“节点管理”页签,在Task节点组的“操作”列单击“弹性伸缩”,进入“弹性伸缩”页面。
- 在“弹性伸缩”界面单击
开启弹性伸缩,并配置“节点数量范围”为“1 - 10”。
- 配置扩容规则。
- 勾选“伸缩规则”区域的“扩容”。
- 单击“扩容”后方的“添加规则”,弹出“添加规则”窗口。
- 在“添加规则”窗口中配置相关参数。
- 规则名称:保持默认,例如“default-expand-2”
- 如果:YARNMemoryAvailablePercentage 小于 20%(相关指标项对应含义请参考表2)
- 持续:1个五分钟
- 添加:5个节点
- 冷却时间:20分钟
- 单击“确定”。
- 配置缩容规则。
- 勾选“伸缩规则”区域的“缩容”。
- 单击“缩容”后方的“添加规则”,弹出“添加规则”窗口。
- 在“添加规则”窗口中配置相关参数。
- “规则名称”:保持默认,例如“default-shrink-2”
- “如果”:YARNMemoryAvailablePercentage 大于 70%(相关指标项对应含义请参考表2)
- “持续”:1个五分钟
- “终止”:5个节点
- “冷却时间”:20分钟
- 单击“确定”。
- 勾选“我同意授权MRS服务根据以上策略自动进行节点扩容/缩容操作。”。
- 单击“确定”,等待弹性伸缩集群设置完成。
场景二:单独使用资源计划
例如业务场景如下:
需要定时增加或减少节点数,在10:00~22:00由于业务量较大,需要使用10个节点,其余时间使用5个节点。
- 参考创建集群并配置Task节点创建集群并配置Task节点。
- 在MRS管理控制台,选择“集群列表 > 现有集群”,单击待操作的集群名称,进入集群详情页面。
- 单击“节点管理”页签,在Task节点组的“操作”列单击“弹性伸缩”,进入“弹性伸缩”页面。
- 在“弹性伸缩”界面开启弹性伸缩及配置“节点数量范围”。
- “弹性伸缩”:开启
- “节点数量范围”:5 - 5
- 单击“默认范围”下方的“配置指定时间段的节点数量范围”,配置相关参数。
- “时间范围”:10:00 - 22:00
- “节点数量范围”:10 - 10
- 勾选“我同意授权MRS服务根据以上策略自动进行节点扩容/缩容操作。”。
- 单击“确定”,等待弹性伸缩集群设置完成。
场景三:弹性伸缩规则与资源计划叠加使用
本操作以如下为例,配置弹性伸缩规则与资源计划叠加使用操作。
例如业务场景如下:
某项实时处理业务数据量在每天7:00-13:00出现规律性变化,但是数据量变化并非非常平稳。假设在7:00-13:00期间,需要Task节点的数量范围是5-8个,其他时间需要根据YARN组件运行中的任务数动态伸缩Task节点范围为2-4个。
- 参考创建集群并配置Task节点创建集群并配置Task节点。
- 在MRS管理控制台,选择“集群列表 > 现有集群”,单击待操作的集群名称,进入集群详情页面。
- 单击“节点管理”页签,在Task节点组的“操作”列单击“弹性伸缩”,进入“弹性伸缩”页面。
- 在“弹性伸缩”界面单击
开启弹性伸缩,并配置“节点数量范围”为“2 - 4”。
图1 配置弹性伸缩 - 配置资源计划。
- 在弹性伸缩页面单击默认范围下方的“配置指定时间段的节点数量范围”。
- 配置“时间范围”和“节点数量范围”。图2 弹性伸缩
“时间范围”:“07:00-13:00”
“节点数量范围”:“5-8”
- 配置弹性伸缩规则。
- 勾选“扩容”。
- 单击右侧“添加规则”,进入“添加规则”页面。图3 添加规则
“规则名称”:default-expand-2
“如果”:在下拉框中选择规则对象及约束要求,例如YARNAppRunning 大于 75
“持续”:1个五分钟
“添加”:1个节点
“冷却时间”:20分钟
- 单击“确定”。
- 勾选“我同意授权MRS服务根据以上策略自动进行节点扩容/缩容操作。”。
- 单击“确定”,等待弹性伸缩集群设置完成。
参考信息
集群类型 |
指标名称 |
数值类型 |
说明 |
---|---|---|---|
流式集群 |
StormSlotAvailable |
整型 |
Storm组件的可用slot数。 取值范围为[0~2147483646]。 |
StormSlotAvailablePercentage |
百分比 |
Storm组件可用slot百分比。是可用slot数与总slot数的比值。 取值范围为[0~100]。 |
|
StormSlotUsed |
整型 |
Storm组件的已用slot数。 取值范围为[0~2147483646]。 |
|
StormSlotUsedPercentage |
百分比 |
Storm组件已用slot百分比。是已用slot数与总slot数的比值。 取值范围为[0~100]。 |
|
StormSupervisorMemAverageUsage |
整型 |
Storm组件Supervisor的内存平均使用量。 取值范围为[0~2147483646]。 |
|
StormSupervisorMemAverageUsagePercentage |
百分比 |
Storm组件Supervisor进程使用的内存占系统总内存的平均百分比。 取值范围[0 ~ 100]。 |
|
StormSupervisorCPUAverageUsagePercentage |
百分比 |
Storm组件Supervisor进程使用的CPU占系统总CPU的平均百分比。 取值范围[0 ~ 6000]。 |
|
分析集群 |
YARNAppPending |
整型 |
YARN组件挂起的任务数。 取值范围为[0~2147483646]。 |
YARNAppPendingRatio |
比率 |
YARN组件挂起的任务数比例。是YARN挂起的任务数与YARN运行中的任务数比值。 取值范围为[0~2147483646]。 |
|
YARNAppRunning |
整型 |
YARN组件运行中的任务数。 取值范围为[0~2147483646]。 |
|
YARNContainerAllocated |
整型 |
YARN组件中已分配的container个数。 取值范围为[0~2147483646]。 |
|
YARNContainerPending |
整型 |
YARN组件挂起的container个数。 取值范围为[0~2147483646]。 |
|
YARNContainerPendingRatio |
比率 |
YARN组件挂起的container比率。是挂起的container数与运行中的container数的比值。 取值范围为[0~2147483646]。 |
|
YARNCPUAllocated |
整型 |
YARN组件已分配的虚拟CPU核心数。 取值范围为[0~2147483646]。 |
|
YARNCPUAvailable |
整型 |
YARN组件可用的虚拟CPU核心数。 取值范围为[0~2147483646]。 |
|
YARNCPUAvailablePercentage |
百分比 |
YARN组件可用虚拟CPU核心数百分比。是可用虚拟CPU核心数与总虚拟CPU核心数比值。 取值范围为[0~100]。 |
|
YARNCPUPending |
整型 |
YARN组件挂起的虚拟CPU核心数。 取值范围为[0~2147483646]。 |
|
YARNMemoryAllocated |
整型 |
YARN组件已分配内存大小。单位为MB。 取值范围为[0~2147483646]。 |
|
YARNMemoryAvailable |
整型 |
YARN组件可用内存大小。单位为MB。 取值范围为[0~2147483646]。 |
|
YARNMemoryAvailablePercentage |
百分比 |
YARN组件可用内存百分比。是YARN组件可用内存大小与YARN组件总内存大小的比值。 取值范围为[0~100]。 |
|
YARNMemoryPending |
整型 |
YARN组件挂起的内存大小。 取值范围为[0~2147483646]。 |
