在使用 E-MapReduce Hadoop 集群时,您如果无法准确的预估大数据计算的波峰、波谷,可以使用按负载伸缩的策略。

配置伸缩实例数

  • 最大节点数:弹性伸缩的 Task 节点上限。一旦达到上限,即使满足弹性伸缩的规则,也不会继续进行弹性伸缩的动作。目前可设置的弹性伸缩最大上限为 1000。
  • 最小节点数:弹性伸缩的 Task 节点下限。
    • 如果弹性伸缩规则中设置的增加后的 Task 节点总数小于最小节点数,那么在首次执行时,集群会以最小节点数为准,伸缩至最小节点数。例如,当前 Task 节点数为 0,设置弹性扩容规则为每天零点动态添加 1 个节点,但最小节点数为 3。那么系统在第一天的零点时会添加至 3 个节点,此后每天零点动态添加 1 个节点,以满足最小节点数的要求。
    • 如果弹性伸缩规则中设置减少后的 Task 节点总数小于最小节点数,那么集群不会进行弹性伸缩操作。

配置负载伸缩规则

伸缩规则分为扩容规则和缩容规则。集群关闭弹性伸缩功能后,所有规则会被清空,再次开启弹性伸缩功能时,需要重新配置伸缩规则。 切换伸缩策略,如从按负载伸缩切换到按时间伸缩时。原策略下的伸缩规则处于失效状态,不会被触发。已经弹出的节点会继续保留,不会被释放。

  • 规则名称:在同一个集群中,伸缩规则名称(包括扩容规则和缩容规则)不允许重复。
  • 集群负载指标:此处在 YARN 的负载指标,具体可以参见 Hadoop 官方文档
    E-MapReduce 弹性伸缩指标 YARN Metrics 说明
    YARN.AvailableVCores availableVirtualCores The number of available virtual cores
    YARN.PendingVCores pendingVirtualCores The number of pending virtual cores,EMR 补充采集
    YARN.AllocatedVCores allocatedVirtualCores The number of allocated virtual cores
    YARN.ReservedVCores reservedVirtualCores The number of reserved virtual cores
    YARN.AvailableMemory availableMB The amount of memory available in MB
    YARN.PendingMemory pendingMB The amount of memory pending in MB,EMR 补充采集
    YARN.AllocatedMemory allocatedMB The amount of memory allocated in MB
    YARN.ReservedMemory reservedMB The amount of memory reserved in MB
    YARN.AppsRuning appsRunning The number of applications running
    YARN.AppsPending appsPending The number of applications pending
    YARN.AppsKilled appsKilled The number of applications killed
    YARN.AppsFailed appsFailed The number of applications failed
    YARN.AppsCompleted appsCompleted The number of applications completed
    YARN.AppsSubmitted appsSubmitted The number of applications submitted
    YARN.AllocatedContainers containersAllocated The number of containers allocated
    YARN.PendingContainers containersPending The number of containers pending
    YARN.ReservedContainers containersReserved The number of containers reserved
  • 统计周期与统计规则:用户选定的集群负载指标在一个统计周期内,按照选定的聚合维度(平均值、最大值、最小值),达到触发阈值为一次触发。
  • 重复几次扩容:负载指标聚合后达到阈值触发的次数,达到该次数后触发集群弹性伸缩的动作。
  • 扩容(台):规则被触发时,集群每次执行增加或减少的 Task 节点数量。
  • 冷却时间(秒):每次弹性伸缩动作执行完成,到可以再次进行弹性伸缩的时间间隔。在冷却时间内,即使满足弹性伸缩条件也不会发生弹性伸缩动作。

配置伸缩规格

弹性伸缩配置可以指定伸缩的节点的硬件规格。用户只能在开启弹性伸缩功能时配置,保存后不能更改。如出于特殊情况确实需要修改,可以关闭弹性伸缩功能后,再次开启。
  • 选择 vCPU 和内存规格时,系统会根据您的选择自动匹配出满足条件的实例,显示在下面的备选实例列表中。您需要添加备选的实例到右侧列表中,以便集群按照已选的实例规格进行伸缩。
  • 为避免由于 ECS 库存不足造成的弹性伸缩失败,您最多可以选择 3 种 ECS 实例。
  • 无论是选择高效云盘还是 SSD 云盘,数据盘最小设置为 40 G。