托管弹性伸缩功能是通过配置Task节点的最大值和最小值,使E-MapReduce(简称EMR)能够自动根据您的业务负载动态调整Task节点数量,并根据历史作业执行情况来优化资源分配。这样既保证了任务的顺利完成,又有效控制了成本。本文为您介绍如何创建托管弹性伸缩策略。
前提条件
使用限制
- 为避免由于ECS库存不足造成的弹性伸缩失败,您可以在新增节点组时配置多种实例规格,最多可以选择10种ECS实例规格作为备选,系统将按照您选择的顺序购买实例。每个节点创建时,会从第一个规格开始尝试,如果该规格库存不足,则依次尝试下一个规格,直到创建成功。最终购买的实例规格可能随库存变化而不同。 
- 仅部署了YARN服务的集群,支持配置托管弹性伸缩规则。 
- 若集群中存在Trino、Presto、StarRocks、Impala或Clickhouse服务,则托管的弹性伸缩效果将无法得到保障。 
注意事项
当您切换弹性伸缩模式时,原有弹性伸缩规则将会失效,请谨慎操作。
操作步骤
方式一:为已有集群创建托管伸缩规则
托管弹性伸缩功能开启后,系统将持续监控集群YARN的负载,并计算过去时间内的负载峰值变化情况,以便自动调整Task节点的数量。
- 进入弹性伸缩页面。 - 登录EMR on ECS。 
- 在顶部菜单栏处,根据实际情况选择地域和资源组。 
- 单击目标集群的集群名称。 
- 单击上方的弹性伸缩。 
 
- 在弹性伸缩配置页签的配置弹性伸缩规则区域,单击托管弹性伸缩规则。 
- 配置伸缩规则。 - 在弹出的对话框中,单击重新配置,配置相关参数。 - 最小Task节点数:托管缩容策略触发时,集群最少保留弹性伸缩的Task节点数。 
- 最大Task节点数:托管扩容策略触发时,集群最多保留弹性伸缩的Task节点数。 
- 最大按量Task节点数:扩容触发后最大扩容的按量计费节点数量,用于设置按量计费节点和竞价实例的占比,默认为最大Task节点数。 说明- 如果集群中存在抢占式实例的Task节点组,则最大按量Task节点数可以小于最大Task节点数。例如,当最小Task节点数设为0,最大Task节点数设为20,而最大按量Task节点数设为15时,在扩容过程中,系统会首先尝试增加15个按量计费的节点,之后如果有进一步的需求,则使用抢占式实例来补充剩余所需的节点数量。 
 
- 配置完后,单击保存并应用。 
 
方式二:创建集群时创建托管伸缩规则
- 登录EMR on ECS。 
- 在顶部菜单栏处,根据实际情况选择地域和资源组。 
- 单击创建集群,参数详情请参见创建集群。 说明- 您必须在集群下增加按量付费或抢占式实例的Task节点组,才可以配置相应的规则。 
- 配置集群伸缩。 - 选择托管弹性伸缩规则。 
- 单击托管弹性伸缩规则右侧的编辑,配置相关参数,单击保存并应用。 - 最小Task节点数:托管缩容策略触发时,集群最少保留弹性伸缩的Task节点数。 
- 最大Task节点数:托管扩容策略触发时,集群最多保留弹性伸缩的Task节点数。 
- 最大按量Task节点数:扩容触发后最大扩容的按量计费节点数量,用于设置按量计费节点和竞价实例的占比,默认为最大Task节点数。 说明- 如果集群中存在抢占式实例的Task节点组,则最大按量Task节点数可以小于最大Task节点数。例如,当最小Task节点数设为0,最大Task节点数设为20,而最大按量Task节点数设为15时,在扩容过程中,系统会首先尝试增加15个按量计费的节点,之后如果有进一步的需求,则使用抢占式实例来补充剩余所需的节点数量。 
 
 
- 确认订单,创建集群。