在使用E-MapReduce Hadoop集群时,如果您无法准确的预估大数据计算的波峰和波谷,则可以使用按负载伸缩配置的策略。
前提条件
已新建弹性伸缩机器组,请参见新建弹性伸缩机器组。
按负载配置负载伸缩规则
基本信息和成本优化策略的配置,详情请参见管理弹性伸缩。
伸缩规则分为扩容规则和缩容规则,本文以扩容规则为例介绍。集群关闭弹性伸缩功能后,所有规则会被清空,再次开启弹性伸缩功能时,需要重新配置伸缩规则。切换伸缩策略时(例如,从按负载伸缩切换到按时间伸缩),原策略下的伸缩规则处于失效状态,不会被触发,但已经扩容的节点会继续保留,不会被释放。

参数 | 描述 |
---|---|
规则名称 | 在同一个集群中,伸缩规则名称(包括扩容规则和缩容规则)不允许重复。 |
集群负载指标 | 在YARN的负载指标中获取,详细信息请参见Hadoop官方文档。 E-MapReduce弹性伸缩指标与YARN负载指标的对应关系如E-MapReduce弹性伸缩指标与YARN负载指标的对应关系所示。 |
统计周期 | 您选定的集群负载指标在一个统计周期内,按照选定的聚合维度(平均值、最大值和最小值),达到触发阈值为一次触发。 |
统计规则 | |
重复几次后扩容 | 负载指标聚合后达到阈值触发的次数,达到该次数后触发集群弹性伸缩的动作。 |
扩容(台) | 规则被触发时,集群每次执行增加的Task节点数量。 |
冷却时间(秒) | 每次弹性伸缩动作执行完成,到可以再次进行弹性伸缩的时间间隔。在冷却时间内,即使满足弹性伸缩条件也不会发生弹性伸缩动作。即忽略本次在冷却时间内触发的弹性伸缩动作,直到下一次满足伸缩条件且不在冷却时间内再执行。 |
E-MapReduce弹性伸缩指标 | 所属服务 | 说明 |
---|---|---|
YARN.AvailableVCores | YARN | 可供分配的虚拟核数。 |
YARN.PendingVCores | YARN | 待分配的虚拟核数。 |
YARN.AllocatedVCores | YARN | 已分配的虚拟核数。 |
YARN.ReservedVCores | YARN | 预留的虚拟核数。 |
YARN.AvailableMemory | YARN | 可供分配的内存量。单位:MB。 |
YARN.PendingMemory | YARN | 待分配的内存量。单位:MB。 |
YARN.AllocatedMemory | YARN | 已分配的内存量。单位:MB。 |
YARN.ReservedMemory | YARN | 预留的内存量。单位:MB。 |
YARN.AppsRunning | YARN | 运行中的任务数。 |
YARN.AppsPending | YARN | 挂起的任务数。 |
YARN.AppsKilled | YARN | 终止的任务数。 |
YARN.AppsFailed | YARN | 失败的任务数。 |
YARN.AppsCompleted | YARN | 完成的任务数。 |
YARN.AppsSubmitted | YARN | 提交的任务数。 |
YARN.AllocatedContainers | YARN | 已分配的容器数。 |
YARN.PendingContainers | YARN | 待分配的容器数。 |
YARN.ReservedContainers | YARN | 预留的容器数。 |
YARN.MemoryAvailablePrecentage | YARN | 剩余内存的百分比 (MemoryAvailablePrecentage= AvailableMemory/Total Memory) 。 |
YARN.ContainerPendingRatio | YARN | 待分配的容器数与已分配的容器数的比率 (ContainerPendingRatio = PendingContainers/AllocatedContainers) 。 |
配置伸缩规格
弹性伸缩配置可以指定伸缩的节点的硬件规格。您只能在开启弹性伸缩功能时配置,保存后不能更改。如果特殊情况确实需要修改,可以关闭弹性伸缩功能后,再次开启。
- 系统会根据您选择的vCPU和内存规格,自动匹配出满足条件的实例,并显示在备选实例列表中。您需要选中备选的实例,以便集群按照已选的实例规格进行伸缩。
- 为避免由于ECS库存不足造成的弹性伸缩失败,您最多可以选择3种ECS实例。
- 无论是选择高效云盘还是SSD云盘,数据盘最小设置为40GB。