Yarn管理动态队列

简介: 动态队列是在应用程序运行时自动创建的。当 YARN 服务重新启动时,它们将被删除。

这是CDP中Yarn使用手册系列的一篇。之前的文章请参考《Apache Hadoop Yarn概述》、《CDP中使用YARN Web UI和CLI》、《CDP中配置Apache Hadoop Yarn的安全性》、《CDP中Yarn资源调度与管理》、《CDP中Yarn管理队列》、《Yarn在全局级别配置调度程序属性》、《Yarn配置每个队列属性》、《Yarn管理放置规则》。

动态队列是在应用程序运行时自动创建的。当 YARN 服务重新启动时,它们将被删除。

动态队列是在运行时自动创建的。capacity-scheduler.xml配置文件中没有定义动态队列 。动态队列可以在那些允许动态自动子创建的静态父项下创建。必须使用 YARN 队列管理器 UI 显式设置动态自动子创建。

您可以通过两种方式创建动态队列:

·      动态队列路径由提交者在提交作业时指定。如果为队列路径中提供的父队列启用了动态自动子创建功能,则将创建动态队列。

·      放置规则适用于可将其放入动态队列的已提交作业。动态队列是根据动态放置规则的预定义表达式创建的。

根据您的资源分配模式,动态队列的管理方式不同:

在绝对和相对模式下,当您为队列启用动态自动子创建功能时,它将成为托管父队列。它不能有静态子队列,它下面的队列只能动态创建。它允许 1 级动态队列嵌套。

在权重模式下,没有托管父队列。当您为某个队列启用动态自动子创建功能时,它会成为一个可以同时拥有静态和动态子队列的父队列。它允许 2 级动态队列嵌套。

注意

尽管可以使用安全阀配置片段来配置动态队列,但Cloudera 建议使用 YARN 队列管理器 UI 进行动态队列配置,即使这会导致一些限制。

1    托管父队列

托管父队列是在绝对和相对资源分配模式下动态自动创建子队列。

在绝对和相对模式下,当您为队列启用动态自动子创建时,它将成为托管父队列。它不能有静态子队列,其下的队列只能动态创建。

在绝对和相对模式下,动态创建的队列始终属于预定义(静态)队列,即托管父队列。这将嵌套限制为仅一层。此外,为托管父队列设置的队列属性将应用于其所有动态创建的子队列。要更改其所有动态子队列的队列属性,您必须更改托管父队列级别的配置。

通过错误地设置托管父队列,可以动态创建零容量队列。

例如,您可以创建一个托管父队列并为其动态创建的子队列分配一个基于百分比的最小容量限制 5%。在这种情况下,最多 20 个队列可以在 5% 的容量限制下运行。这会强制所有后续队列等待,直到队列被释放(如果队列中没有应用程序正在运行,则其容量设置为零)。因此,以考虑应该并行运行的队列数量的方式设计属于托管父队列的子队列的最小容量限制至关重要。

2     将队列转换为托管父队列

在绝对和相对模式下,您必须创建托管父队列以启用动态队列创建。您可以通过 YARN 队列管理器 UI 执行此操作。

请注意,在托管父队列级别设置的队列属性适用于其所有叶队列。

重要的

为队列启用动态自动子创建后,您将无法禁用它。如果您错误地启用它,您必须删除队列及其子队列,然后重新创建它们。

1.   Cloudera Manager 中,选择YARN Queue Manager UI

图形队列层次结构显示在 概览选项卡中。

2.   找到要为其启用动态自动子创建功能的队列。

3.   选择更多选项菜单并选择 启用动态自动子创建。

图片 1.png

4.   设置队列的最小和最大容量。

5.   点击保存。

要定义可能导致动态创建子队列的放置规则,请确保在放置规则创建期间选择创建目标队列(如果不存在?)。选项并提供托管父队列作为父队列。有关详细信息,请参阅管理放置规则

3     在权重模式下启用动态自动子创建

在权重模式下,当您为队列启用动态自动创建子队列时,它将成为一个可以同时拥有静态和动态子队列的父队列。您可以通过 YARN 队列管理器 UI 启用该功能。

在权重模式下,没有托管父队列。当您为某个队列启用动态自动子创建功能时,它将成为一个可以同时拥有静态和动态子队列的父队列。如果未启用此功能,则队列只能有静态子队列。

与动态队列嵌套级别仅限于一级的管理父队列相反,在权重模式下,动态自动子创建允许您创建 2 级动态队列。

重要的

为队列启用动态自动子创建后,您将无法禁用它。如果您错误地启用它,您必须删除队列及其子队列,然后重新创建它们。

由于一个已知问题,您只能为已经有至少一个子队列的队列启用动态自动子创建。这意味着您必须在要为其启用此功能的父队列下创建至少一个静态子队列。

为父队列启用动态自动子创建后,如果您的设置只需要动态子队列,您可以停止和删除静态子队列。

1.   Cloudera Manager 中,选择YARN Queue Manager UI

图形队列层次结构显示在 概览选项卡中。

2.   找到要为其启用动态自动子创建功能的队列。

3.   选择更多选项菜单并选择 启用动态自动子创建。

图片 2.png

为队列启用了动态自动子创建,并且队列名称旁边会显示一个螺栓图标。

如果不需要,请先删除您创建的静态子队列,然后再为该队列启用动态自动子创建功能。

如果要定义可能导致动态创建子队列的放置规则,请确保在创建放置规则期间选中创建目标队列,如果它不存在?属性并提供启用动态自动子创建的父队列。有关详细信息,请参阅 管理放置规则

4     管理动态自动子创建启用父队列

Cloudera Manager 中的 YARN 队列管理器 UI 提供了队列层次结构的概览,您可以在其中查看和管理启用了动态自动子创建的父队列。

1.   Cloudera Manager 中,选择YARN Queue Manager UI

图形队列层次结构显示在 概览选项卡中。启用动态自动子创建的父队列的队列名称旁边会显示一个螺栓图标。

2.   选择三个垂直点并为启用动态自动子创建的父队列选择以下操作之一:

o   查看/编辑队列属性:在相对和绝对资源分配模式下,您可以查看和编辑队列属性 动态自动创建队列部分 。在权重资源分配模式下,您只能查看该部分。

o   添加子队列:仅在权重模式下支持,其中动态父队列可以同时拥有静态和动态子队列。

o   删除队列:您必须先停止队列,然后才能删除它。

注意

您不能删除 rootroot.default 队列。

o   停止队列/停止队列及其子队列:停止队列及其子队列(如果有)。

注意

在权重模式下,如果队列有动态创建的子队列,一旦停止动态子队列,将无法重新启动。

o   编辑动态子队列容量:仅在绝对和相对模式下受支持。

o   更多信息:您将被重定向到 资源管理器UIv2 队列页面。

5    管理动态创建的子队列

YARN 队列管理器 UI 提供了队列层次结构的概览,您可以在其中查看和管理动态创建的子队列。

您不能直接删除动态创建的子队列。有关动态队列删除的更多信息,请参阅删除动态创建的子队列

1.   Cloudera Manager 中,选择YARN Queue Manager UI

图形队列层次结构显示在 概览选项卡中。在图片 3.png启用了动态自动子创建的父队列的队列名称旁边会显示一个叶子。

2.   选择更多选项菜单并为动态创建的队列执行以下操作之一:

o   查看/编辑队列属性:在相对和绝对资源分配模式下可用。

o   更多信息:您将被重定向到 资源管理器UIv2 队列页面。

6    删除动态创建的子队列

您不能直接删除动态创建的子队列,但有一些解决方法可以删除它们。例如,当该队列中的应用程序终止时,它会很有用。

有两种方法可以删除动态创建的子队列:

·      重新启动 YARN 服务:这会停止并删除所有动态创建的队列。

·      停止然后删除动态创建的子队列的父队列:这将删除动态父队列及其所有子队列 - 静态和动态的。

原文链接:https://docs.cloudera.com/cdp-private-cloud-base/latest/yarn-allocate-resources/topics/yarn-dynamic-queues.html

 

目录
相关文章
|
6月前
|
消息中间件 资源调度 Java
实时计算 Flink版产品使用合集之部署yarn模式,怎么实现峰谷动态并行度扩容缩容
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
6月前
|
SQL 分布式计算 资源调度
Hadoop Yarn 配置多队列的容量调度器
配置Hadoop多队列容量调度器,编辑`capacity-scheduler.xml`,新增`hive`队列,`default`队列占总内存40%,最大60%;`hive`队列占60%,最大80%。配置包括队列容量、用户权限和应用生存时间等,配置后使用`yarn rmadmin -refreshQueues`刷新队列,无需重启集群。多队列配置可在Yarn WEB界面查看。
97 4
|
6月前
|
资源调度 监控 API
在Flink中,通过YARN模式进行峰谷动态并行度扩容缩容可以使用 Flink 自带的动态调优功能
在Flink中,通过YARN模式进行峰谷动态并行度扩容缩容可以使用 Flink 自带的动态调优功能【1月更文挑战第6天】【1月更文挑战第26篇】
264 1
|
6月前
|
SQL 资源调度 分布式计算
Yarn【多队列实例、任务优先级设置】
Yarn【多队列实例、任务优先级设置】
|
资源调度 分布式计算 Hadoop
Yarn队列租户配置教程(实践记录)
Yarn队列租户配置教程(实践记录)
161 0
|
资源调度 分布式计算 数据可视化
灵活、可用、高扩展,EasyMR 带来全新 Yarn 的队列管理功能及可视化配置
本文为大家介绍各类资源划分和队列管理方式,以及 EasyMR YARN 的队列管理功能,如何通过可视化界面管理,给广大用户带来更高效和便捷的队列管理体验。
143 0
|
SQL 资源调度 大数据
大数据平台 CDP 中如何配置 hive 作业的 YARN 队列以确保SLA?
大数据平台 CDP 中如何配置 hive 作业的 YARN 队列以确保SLA?
|
分布式计算 资源调度 Hadoop
大数据基础-yarn配置多资源队列
yarn配置多资源队列
307 0
|
资源调度 分布式计算 Hadoop
Yarn队列租户配置教程(实践记录)
Yarn队列租户配置教程(实践记录)
528 0
Yarn队列租户配置教程(实践记录)
|
资源调度 分布式计算 Hadoop
CDP中Yarn资源调度与管理
您可以通过调度分配资源、通过配置 cgroup 限制 CPU 使用、使用分区将集群划分为子集群以及在 Docker 容器上启动应用程序来管理集群上运行的应用程序的资源。
851 0