tencent cloud

文档反馈

配置 Capacity Scheduler

最后更新时间:2023-12-27 14:32:24

    功能介绍

    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
    可以管理队列的用户的列表。
    延迟调度
    yarn.scheduler.capacity.node-locality-delay
    保证任务本地化执行,可以延迟调度的次数。如果值为 -1,将禁用延迟调度。

    配置资源池映射

    1. 单击策略设置中的资源池映射即可进入资源池映射页面,单击新建资源池映射即可进行新建资源池映射。
    
    
    2. 是否覆盖用户指定队列 默认关闭,假如用户在资源池映射中定义了映射的队列,且用户在提交任务时指定了队列,但是该队列与映射队列不同时:当用户指定的队列为 default 或者开启了覆盖,则会使用映射队列,否则使用用户指定的队列。

    示例标签调度

    1. 登录 EMR 控制台,在集群列表中选择对应的 Hadoop 集群单击详情进入集群详情页。
    2. 在集群详情页中选择集群服务 > Yarn 组件卡页右上角操作 > 资源调度进入资源调度页面。
    3. 单击资源调度器开关,调度器类型选择 Capacity Scheduler。
    4. 单击标签调度开关,打开标签调度后单击标签管理,进入标签管理页。
    
    5. 单击新建标签,填写标签名称,并根据需要设置标签类型和该标签绑定的节点。
    
    6. 标签设置完成后,单击指令生效,即可在资源池中编辑查看该标签的资源队列。
    
    7. 在资源调度页中单击新建资源池,根据业务需要选择标签、容量、最大容量等。
    说明
    资源池在不同标签中的容量、最大容量相互独立,即可以按照业务分别进行配置,相互不影响。
    
    
    8. 资源池设置完后,单击部署生效,即向后台提交了部署生效任务。
    注意
    由于 ResourceManager 重启属于高危操作,单击部署生效时如果提示会重启 ResourceManager,请在调度历史中查看操作是否成功,并在角色管理中查看 ResourceManager 健康状态是否良好。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持