tencent cloud

弹性 MapReduce

动态与公告
产品动态
产品公告
安全公告
产品简介
产品概述
产品优势
产品架构
产品功能
应用场景
约束与限制
技术支持范围
产品发行版
购买指南
EMR on CVM 计费说明
EMR on TKE 计费说明
EMR Serverless HBase 计费说明
快速入门
EMR on CVM 快速入门
EMR on TKE 快速入门
EMR on CVM 操作指南
规划集群
管理权限
配置集群
管理集群
管理服务
监控告警
智能管家
EMR on TKE 操作指南
EMR on TKE 简介
配置集群
管理集群
管理服务
监控运维
应用分析
EMR Serverless HBase 操作指南
EMR Serverless HBase 产品简介
配额与限制
规划实例
管理实例
监控告警
开发指南
EMR 开发指南
Hadoop开发指南
Spark 开发指南
HBASE开发指南
Phoenix on Hbase 开发指南
Hive 开发指南
Presto开发指南
Sqoop 开发指南
Hue 开发指南
Oozie 开发指南
Flume 开发指南
Kerberos 开发指南
Knox 开发指南
Alluxio 开发指南
Kylin 开发指南
Livy 开发指南
Kyuubi 开发指南
Zeppelin 开发指南
Hudi 开发指南
Superset 开发指南
Impala 开发指南
Druid 开发指南
Tensorflow 开发指南
Kudu 开发指南
Ranger 开发指南
Kafka 开发指南
Iceberg 开发指南
StarRocks 开发指南
Flink 开发指南
JupyterLab 开发指南
MLflow 开发指南
实践教程
EMR on CVM 运维实践
数据迁移实践
自定义伸缩实践教程
API 文档
History
Introduction
API Category
Cluster Resource Management APIs
Cluster Services APIs
User Management APIs
Data Inquiry APIs
Scaling APIs
Configuration APIs
Other APIs
Serverless HBase APIs
YARN Resource Scheduling APIs
Making API Requests
Data Types
Error Codes
常见问题
EMR on CVM常见问题
服务等级协议
联系我们

配置容量调度

PDF
聚焦模式
字号
最后更新时间: 2024-10-21 16:09:57

功能介绍

Capacity Scheduler 是容量调度器,容量调度器以分层的方式组织资源,可通过多层级的资源限制条件让多用户共享集群资源。

操作步骤

新建资源池

1. 登录 EMR 控制台,在集群列表中选择对应的 Hadoop 集群单击详情进入集群详情页。
2. 在集群详情页中选择集群服务 > Yarn 组件卡页右上角操作 > 资源调度进入资源调度页面。


3. 单击资源调度器开关,打开开关后即可进行相关调度器配置。
4. 新建 Capacity Scheduler 调度策略类型选择 Capacity Scheduler 即可进入 Capacity Scheduler 的配置页面,单击新增资源池即可新建资源池。可对已有资源池进行编辑、新建子池、克隆等操作;也可单击默认设置进行设置容量调度的延迟调度次数。


新建资源池:



字段与配置项对照表
字段名称
对应参数名称
参数含义
资源池名称
yarn.scheduler.capacity.<queue-path>.queues</queue-path>
资源池的名称或队列的名称。
标签设置
设置队列可以访问的特定标签。
容量
yarn.scheduler.capacity.<queue-path>.capacity</queue-path>
可以使用的资源大小,同一父资源池的子池容量总和为100,能使用的资源=父资源池*容量%。如果该队列需要比这个比例更高的资源,而其他队列又有空闲资源的话,可以占用比这个比例更高的资源。
最大容量
yarn.scheduler.capacity.<queue-path>.maximum-capacity</queue-path>
队列的资源使用上限(百分比)。由于存在资源共享,因此一个队列使用的资源量可能超过其容量,而最多使用资源量可通过该参数限制。
默认标签表达式
yarn.scheduler.capacity.<queue-path>.default-node-label-expression</queue-path>
当资源请求未指定节点标签时,应用将被提交到该值对应的分区。默认情况下,该值为空,即应用程序将被分配没有标签的节点上的容器。
用户最小容量
yarn.scheduler.capacity.<queue-path>.minimum-user-limit-percent</queue-path>
每个用户最低资源保障(百分比)。任何时刻,一个队列中每个用户可使用的资源量均有一定的限制。当一个队列中同时运行多个用户的应用程序时,每个用户的使用资源量在一个最小值和最大值之间浮动,其中,最小值取决于正在运行的应用程序数目,而最大值则由 minimum-user-limit-percent 决定。
用户资源因子
yarn.scheduler.capacity.<queue-path>.user-limit-factor</queue-path>
每个用户最多可使用的资源量(百分比)。例如,假设该值为30,则任何时刻,每个用户使用的资源量不能超过该队列容量的30%。
分配 Container 最大内存数量
yarn.scheduler.capacity.<queue-path>.maximum-allocation-mb</queue-path>
每个 container 的最大内存值,这个配置会覆盖 yarn.scheduler.maximum-allocation-mb 值,但是该值必须小于等于系统的 yarn.scheduler.maximum-allocation-mb 的值。
Container 最大 vCore 数量
yarn.scheduler.capacity.<queue-path>.maximum-allocation-vcores</queue-path>
每个 container 的最大核数,这个配置会覆盖 yarn.scheduler.maximum-allocation-vcores 值,但是该值必须小于等于系统的 yarn.scheduler.maximum-allocation-vcores 的值。
资源池状态
yarn.scheduler.capacity.<queue-path>.state</queue-path>
队列的状态。可以是正在运行或已停止。如果队列处于停止状态,则无法向其自身或其任何子队列提交新的应用程序。
最大应用数 Max-Applications
yarn.scheduler.capacity.<queue-path>.maximum-applications</queue-path>
系统中可同时处于活动状态(正在运行和挂起)的最大应用程序数。
最大 AM 比例
yarn.scheduler.capacity.<queue-path>.maximum-am-resource-percent</queue-path>
群集中可用于运行应用程序主机的最大资源百分比-控制并发活动应用程序的数量。
资源池优先级
yarn.scheduler.capacity.root.<leaf-queue-path>.default-application-priority</leaf-queue-path>
配置资源队列的优先级,默认为0,设置值越大,优先级越高。
提交访问控制
yarn.scheduler.capacity.root.<queue-path>.acl_submit_applications
可以提交 apps 到队列的用户的列表。
管理访问控制
yarn.scheduler.capacity.root.<queue-path>.acl_administer_queue
可以管理队列的用户的列表。
node-locality-delay
yarn.scheduler.capacity.node-locality-delay
保证任务本地化执行,可以延迟调度的次数。如果值为 -1,将禁用延迟调度。
multiple-assignments-enabled
yarn.scheduler.capacity.per-node-heartbeat.multiple-assignments-enabled
是否允许在一次 NodeManager 心跳中分配多个容器。默认为 true。仅支持 Hadoop3.x 版本。
maximum-container-assignments
yarn.scheduler.capacity.per-node-heartbeat.maximum-container-assignments
如果 multiple-assignments-enabled 为 true,在一次 NodeManager 心跳中可以分配的最大容器数量。如果值为-1,将禁用该参数。仅支持 Hadoop3.x 版本。
resource-calculator
yarn.scheduler.capacity.resource-calculator
用于比较调度程序中的资源的 ResourceCalculator 实现。可输入 org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator 或 org.apache.hadoop.yarn.util.resource.DominantResourceCalculator。DefaultResourceCalculator 为默认值,只使用内存;而 DominantResourceCalculator 使用多维资源,如内存、CPU 等。

配置资源池映射

1. 单击策略设置中的资源池映射即可进入资源池映射页面,单击新建资源池映射即可进行新建资源池映射。


新建资源池映射:



2. 是否覆盖用户指定队列 默认关闭,假如用户在资源池映射中定义了映射的队列,且用户在提交任务时指定了队列,但是该队列与映射队列不同时:当用户指定的队列为 default 或者开启了覆盖,则会使用映射队列,否则使用用户指定的队列。

示例标签调度

1. 登录 EMR 控制台,在集群列表中选择对应的 Hadoop 集群单击详情进入集群详情页。
2. 在集群详情页中选择集群服务 > Yarn 组件卡页右上角操作 > 资源调度进入资源调度页面。
3. 单击资源调度器开关,调度器类型选择 Capacity Scheduler。
4. 单击标签调度开关,打开标签调度后单击标签管理,进入标签管理页。


5. 单击新建标签,填写标签名称,并根据需要设置标签类型和该标签绑定的节点。


6. 标签设置完成后,单击指令生效,即可在资源池中编辑查看该标签的资源队列。


7. 在资源调度页中单击新建资源池,根据业务需要选择标签、容量、最大容量等。
说明
资源池在不同标签中的容量、最大容量相互独立,即可以按照业务分别进行配置,相互不影响。

8. 资源池设置完后,单击部署生效,即向后台提交了部署生效任务。
注意
由于 ResourceManager 重启属于高危操作,单击部署生效时如果提示会重启 ResourceManager,请在调度历史中查看操作是否成功,并在角色管理中查看 ResourceManager 健康状态是否良好。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈