弹性 MapReduce 伸缩规则触发执行原则

每个集群最多可配置10种伸缩规格,扩容规则触发时将根据规格优先级进行扩容,当高优先级规格数量不足时,由次优先级资源规格混合高优先级规格进行扩容补充计算资源(按量计费和竞价实例执行顺序相同)。

相关产品
弹性 MapReduce 产品页,含版本规格、价格与购买入口。

一、扩容规则执行时预设资源添加原则

·当资源充足时:1>2>3>4>5

注意:例如

注意:预设5种规格且资源充足,当扩容规则触发需要扩容10台节点时,按照顺序规格1扩容10台节点,其余预设规格不选择。

·当资源不足时:1+2>1+2+3>1+2+3+4>1+2+3+4+5

注意:例如

注意:预设规格1有8台节点,规格2有4台节点,规格3有3台节点,当扩容规则触发需要扩容13台节点时,按照顺序规格1扩容8台节点,规格2扩容4台节点,规格3扩容1台节点。

·当资源规格无货时,假设规格2无货:1+3>1+3+4>1+3+4+5

注意:例如

扩容方式:支持选择:节点、内存、核数三种方式;三种方式仅支持整数非0值输入。当方式选择核数和内存时,扩容保证最大算力进行扩容节点数量换算。

注意:例如

二、开启尽力交付时弹性节点扩容原则

自动扩容在高峰下单时可能由于资源争抢导致实际扩容机器数量达不到弹性目标数量,当你开启尽力交付策略后,如果配置的伸缩规格资源充足,系统会自动重试申请资源,直到满足或接近目标数量。

·预设资源规格优先级:1>2>3>4>5。假设预设规格1有8台节点,规格2有2台节点,规格3有6台节点,规格4有6台节点。

注意:例如:

三、缩容规则执行时弹性节点缩容原则

自动伸缩功能扩容出的弹性节点,当缩容规则触发时:按时间缩容,将优先缩容空闲节点,根据“先扩后缩,后扩先缩”原则执行,不足缩容数量时,再选择缩容运行 container 的节点;按负载缩容,优先缩容部署了负载指标所属服务的节点,且优先缩容空闲节点,根据“先扩后缩,后扩先缩”原则执行,不足缩容数量时,再选择缩容运行 container 的节点。非弹性节点将不受缩容规则触发而触发缩容动作,非弹性节点仅支持手动缩容。

·按负载缩容,假设节点创建时间从早到晚 A>B>C>D>E。

注意:例如:

·按时间缩容,假设节点创建时间从早到晚 A>B>C>D>E。

注意:例如:

缩容方式:支持选择:节点、内存、核数三种方式;三种方式仅支持整数非0值输入。当方式选择核数和内存时,缩容保证业务正常按最小台数进行缩容节点数量换算,节点无任务运行时按时间倒序缩容。

注意:例如

四、伸缩规则触发顺序执行原则

支持时间伸缩和负载伸缩混合弹性规则设置,规则触发遵循“先触发先执行,同时触发根据规则优先顺序执行”;规则状态用于标记规则是否开启,默认为开启状态,当不需要规则运行但仍想保留规则配置时可将规则状态设置为关闭。

·仅按负载进行伸缩设置

1.1 遵循“先触发先执行,同时触发根据规则优先顺序执行”,如:1>2>3>4>5。

1.2 单条负载伸缩规则支持设置多指标,可选择所有指标都符合条件时触发规则或任意指标符合条件时触发规则。

1.3 支持指定时间段内监控集群负载变化,设置负载伸缩生效。

·仅按时间进行伸缩设置

1.1 遵循“先触发先执行,同时触发根据规则优先顺序执行”,如:1>2>3>4>5。

1.2 重复执行规则,若规则到期后,规则状态将失效并处于关闭状态;到期前将有告警通知,详情请参见 告警配置。

·按负载和时间混合进行伸缩设置
遵循“先触发先执行,同时触发根据规则优先顺序执行”,如:1>2>3>4>5。

五、队列负载指标对应关系

负载伸缩支持的集群类型、组件及版本信息如下:

·Hadoop 集群:

·YARN 组件:Node Label 仅支持 EMR-V3.x 及以上版本。

·Trino 组件:仅支持 EMR-V2.7.0和 EMR-V3.40及以上版本。

·Ray 集群:Uniffle 组件。

·StarRocks 集群:StarRocks 组件。

负载类型 类别 维度 EMR 自动伸缩指标 指标含义
YARN AvailableVCores root AvailableVCores#root root 队列可用虚拟核数的数量
  root.default AvailableVCores#root.default root.default 队列可用虚拟核数的数量
  自定义子队列 如:AvailableVCores#root.test root.test 队列可用虚拟核数的数量
  Node Label 如:AvailableVCores#Node Label.test test 标签下可用虚拟核数的数量
 PendingVCores root PendingVCores#root root 队列等待可用的虚拟核数
  root.default PendingVCores#root.default root.default 队列等待可用的虚拟核数
  自定义子队列 如:PendingVCores#root.test root.test 队列等待可用的虚拟核数
  Node Label 如:PendingVCores#Node Label.test test 标签下等待可用的虚拟核数
 AvailableMB root AvailableMB#root root 队列可用内存数量(MB)
  root.default AvailableMB#root.default root.default 队列可用内存数量(MB)
  自定义子队列 如:AvailableMB#root.test root.test 队列可用内存数量(MB)
  Node Label 如:AvailableMB#Node Label.test test 标签下可用内存数量(MB)
 PendingMB root PendingMB#root root 队列等待可用的内存数量(MB)
  root.default PendingMB#root.default root.default 队列等待可用的内存数量(MB)
  自定义子队列 如:PendingMB#root.test root.test 队列等待可用的内存数量(MB)
  Node Label 如:PendingMB#Node Label.test test 标签下等待可用的内存数量(MB)
 AvailableMemPercentage 集群 AvailableMemPercentage 剩余内存的百分比
 ContainerPendingRatio 集群 ContainerPendingRatio 待分配的容器数与已分配的容器数的比率
 AppsRunning root AppsRunning#root root 队列运行中的任务数
  root.default AppsRunning#root.default root.default 队列运行中的任务数
  自定义子队列 如:AppsRunning#root.test root.test 队列运行中的任务数
 AppsPending root AppsPending#root root 队列挂起的任务数
  root.default AppsPending#root.default root.default 队列挂起的任务数
  自定义子队列 如:AppsPending#root.test root.test 队列挂起的任务数
 PendingContainers root PendingContainers#root root 队列待分配的容器数
  root.default PendingContainers#root.default root.default 队列待分配的容器数
  自定义子队列 如:PendingContainers#root.test root.test 队列待分配的容器数
 AllocatedMB root AllocatedMB#root root 队列已分配的内存量
  root.default AllocatedMB#root.default root.default 队列已分配的内存量
  自定义子队列 如:AllocatedMB#root.test root.test 队列已分配的内存量
  Node Label 如:AllocatedMB#Node Label.test test 标签下已分配的内存量
 AllocatedVCores root AllocatedVCores#root root 队列已分配的虚拟核数
  root.default AllocatedVCores#root.default root.default 队列已分配的虚拟核数
  自定义子队列 如:AllocatedVCores#root.test root.test 队列已分配的虚拟核数
  Node Label 如:AllocatedVCores#Node Label.test test 标签下已分配的虚拟核数
 ReservedVCores root ReservedVCores#root root 队列预留的虚拟核数
  root.default ReservedVCores#root.default root.default 队列预留的虚拟核数
  自定义子队列 如:ReservedVCores#root.test root.test 队列预留的虚拟核数
  Node Label 如:ReservedVCores#Node Label.test test 标签下预留的虚拟核数
 AllocatedContainers root AllocatedContainers#root root 队列已分配的容器数
  root.default AllocatedContainers#root.default root.default 队列已分配的容器数
  自定义子队列 如:AllocatedContainers#root.test root.test 队列已分配的容器数
 ReservedMB root ReservedMB#root root 队列预留的内存量
  root.default ReservedMB#root.default root.default 队列预留的内存量
  自定义子队列 如:ReservedMB#root.test root.test 队列预留的内存量
  Node Label 如:ReservedMB#Node Label.test test 标签下预留的内存量
 AppsKilled root AppsKilled#root root 队列终止的任务数
  root.default AppsKilled#root.default root.default 队列终止的任务数
  自定义子队列 如:AppsKilled#root.test root.test 队列终止的任务数
 AppsFailed root AppsFailed#root root 队列失败的任务数
  root.default AppsFailed#root.default root.default 队列失败的任务数
  自定义子队列 如:AppsFailed#root.test root.test 队列失败的任务数
 AppsCompleted root AppsCompleted#root root 队列完成的任务数
  root.default AppsCompleted#root.default root.default 队列完成的任务数
  自定义子队列 如:AppsCompleted#root.test root.test 队列完成的任务数
 AppsSubmitted root AppsSubmitted#root root 队列提交的任务数
  root.default AppsSubmitted#root.default root.default 队列提交的任务数
  自定义子队列 如:AppsSubmitted#root.test root.test 队列提交的任务数
 AvailableVCoresPercentage 集群 AvailableVCoresPercentage 集群内可用虚拟核数百分比
 MemPendingRatio root MemPendingRatio#root root 队列等待可用的内存百分比
  root.default MemPendingRatio#root.default root.default 队列等待可用的内存百分比
  自定义子队列 如:MemPendingRatio#root.test root.test 队列等待可用的内存百分比
 usageRatioVCores root usageRatioVCores#root root 队列 CPU 资源的使用率
  root.default usageRatioVCores#root.default root.default 队列 CPU 资源的使用率
  自定义子队列 如:usageRatioVCores#root.test root.test 队列 CPU 资源的使用率
 usageRatioMem root usageRatioMem#root root 队列内存资源的使用率
  root.default usageRatioMem#root.default root.default 队列内存资源的使用率
  自定义子队列 如:usageRatioMem#root.test root.test 队列内存资源的使用率
Trino FreeDistributed 集群 FreeDistributed 集群可用 Distributed 内存
 QueuedQueries 集群 QueuedQueries 队列中等待执行的查询总数
StarRocks CNUsedVCores 集群 CNUsedVCores 集群中所有 CN 节点已使用虚拟核数的数量
  计算组  指定计算组中所有 CN 节点已使用虚拟核数的数量
 CNUsedMB 集群 CNUsedMB 集群中所有 CN 节点已使用内存数量(MB)
  计算组  指定计算组中所有 CN 节点已使用内存数量(MB)
 CNUsedVCoresPercentage 集群 CNUsedVCoresPercentage 集群中所有 CN 节点 CPU 使用率
  计算组  指定计算组中所有 CN 节点 CPU 使用率
 CNUsedMBPercentage 集群 CNUsedMBPercentage 集群中所有 CN 节点内存使用率
  计算组  指定计算组中所有 CN 节点内存使用率
Uniffle DataDiskUsedPercentage 集群 DataDiskUsedPercentage shuffle server 的数据盘空间平均使用率
 DataDiskIOPercentage 集群 DataDiskIOPercentage shuffle server 的数据盘 IO 设备平均使用率
赞 (0)
上一篇 4天前
下一篇 4天前