前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Yarn配置每个队列属性

Yarn配置每个队列属性

作者头像
大数据杂货铺
发布于 2021-09-15 08:20:17
发布于 2021-09-15 08:20:17
2.5K0
举报
文章被收录于专栏:大数据杂货铺大数据杂货铺

这是CDP中Yarn使用系列中的一篇,之前的文章请参考<使用YARN Web UI和CLI>、<CDP 中配置Yarn的安全性>、<CDP的Yarn资源调度与管理>、<CDP中Yarn管理队列>和<Yarn在全局级别配置调度程序属性>。

队列属性包含定义队列行为的设置。使用队列属性,您可以定义不需要直接从父队列继承属性的设置,并定义特定于队列的设置。

在 Cloudera Manager 中,您可以使用队列属性来查看和配置队列属性。

  1. 在 Cloudera Manager 中,选择集群 > YARN 队列管理器 UI 服务。
  1. 单击队列上的三个垂直点,然后选择查看/编辑队列属性选项。
  1. 在“队列属性”窗口中,输入属性值并单击“保存”。

在队列中设置用户限制

设置分配给每个叶队列用户的最小资源百分比。

最小用户限制(最小用户极限百分比)属性可以用于设置分配给每个叶队列用户资源的最小百分比。例如,要在五个用户之间平等共享“服务”叶队列容量,您可以将最小用户限制百分比设置为 20%。

根据本例配置用户限制,请执行以下操作:

  1. 在 Cloudera Manager 中,选择集群 > YARN 队列管理器 UI 服务。图形队列层次结构显示在概览选项卡中。
  2. 单击服务队列上的三个垂直点,然后选择 查看/编辑队列属性选项。
  3. 在“队列属性”对话框中,在“最小用户限制”文本框中输入20 。
  4. 点击保存。

此设置确定任何用户的队列容量份额可以缩小到的最小限制。无论此限制如何,如果有空闲资源可用,任何用户都可以进入队列并占用超过其分配的份额。

下表显示了如何在用户将作业提交到最小用户限制百分比设置为 20% 的队列时调整队列资源:

  • 对于单个用户连续提交多个作业,队列资源以相同的方式进行调整。如果没有其他用户请求队列资源,第一个作业将获得 100% 的队列容量。当用户提交第二个作业时,每个作业接收队列容量的 50%。当用户提交第三个作业时,每个作业接收队列容量的 33%。如果第四个用户随后提交作业,则每个作业将获得队列容量的 25%。当所有用户提交的作业总数达到5个时,每个作业将获得队列容量的20%,后续用户必须等待队列容量释放(假设未启用抢占)。
  • 容量调度程序还管理资源以减少用户数量。随着用户的应用程序完成运行,其他具有突出需求的现有用户开始收回该份额。
  • 请注意,尽管用户之间存在这种共享,但容量调度程序的 FIFO 应用程序调度顺序不会改变。这保证了用户不能通过不断提交新的应用程序来独占队列。首先提交的应用程序(以及相应的用户)总是比稍后提交的应用程序获得更高的优先级。

Capacity Scheduler 的叶子队列还可以使用 user-limit-factor 属性来控制用户资源分配。此属性表示任何单个用户最多可以消耗的队列容量比例,无论集群中是否存在空闲资源。

根据本示例配置最大限制(user-limit-factor),请执行以下操作:

  1. 在 Cloudera Manager 中,选择集群 > YARN 队列管理器 UI 服务。图形队列层次结构显示在概览选项卡中。
  2. 单击要设置限制的队列上的三个垂直点,然后选择 查看/编辑队列属性选项。
  3. 在“队列属性”对话框中,1 在“用户限制因子”文本框中输入。
  4. 点击保存。

默认值“1”表示队列中的任何单个用户最多只能占用队列配置的容量。这可以防止单个队列中的用户独占集群中所有队列的资源。将该值设置为“2”会将队列的用户限制为队列配置容量的两倍。将其设置为 0.5 值将限制任何用户使用超过队列容量一半的资源。

为特定队列设置最大应用程序限制

为避免由于无法管理的负载(由恶意用户或意外引起)导致系统崩溃,容量调度程序使您能够对并发活动(正在运行和待处理)应用程序的总数设置静态、可配置的限制任何时候。

您可以使用最大应用程序队列属性设置最大应用程序限制属性。在任何特定队列中运行应用程序的限制是该总限制的一小部分,与其容量成正比。这是一个硬限制,这意味着一旦队列达到此限制,该队列的任何新应用程序都将被拒绝,客户端将不得不等待并稍后重试。

要在特定队列上设置应用程序限制 ( yarn.scheduler.capacity.<queue-path>.maximum-applications ),请执行以下操作:

  1. 在 Cloudera Manager 中,选择集群 > YARN 队列管理器 UI 服务。图形队列层次结构显示在概览选项卡中。
  2. 单击队列上的三个垂直点,然后选择查看/编辑队列属性选项。
  3. 在队列属性对话框中,在最大应用程序文本框中输入最大应用程序限制。
  4. 点击保存。

为特定队列设置 Application-Master 资源限制

Application Master (AM) 资源限制可用于设置专门分配给 Application Master 的集群资源的最大百分比。默认值为 10%,存在是为了避免跨应用程序死锁,其中集群中的重要资源完全被运行应用程序主控的容器占用。

此属性还间接控制集群中并发运行的应用程序数量,每个队列仅限于与其容量成比例的运行应用程序数量。

要为特定队列设置最大 Application Masters 资源限制 ( yarn.scheduler.capacity.maximum-am-resource-percent ):

  1. 在 Cloudera Manager 中,选择集群 > YARN 队列管理器 UI 服务。图形队列层次结构显示在概览选项卡中。
  2. 单击队列上的三个垂直点,然后选择查看/编辑队列属性选项。
  3. 在队列属性对话框中,在最大 AM 资源限制文本框中输入限制 。
  4. 点击保存。

使用 ACL 控制对队列的访问

使用访问控制列表 (ACL) 来控制用户和管理员对容量调度程序队列的访问权限。

应用程序提交实际上只能发生在叶队列级别,但是在父队列上设置的 ACL 限制将应用于其所有后代队列。

在容量调度程序中,通过使用提交应用程序 ACL参数授予对用户和组列表的队列访问权限来配置ACL。列表的格式是“user1,user2 group1,group2”——一个逗号分隔的用户列表,后跟一个空格,后跟一个逗号分隔的组列表。

注意

根队列的Submit Application ACL的默认值为yarn,这意味着只有默认yarn 用户才能向该队列提交应用程序。因此,要为特定用户和组提供对队列的访问权限,您必须将提交应用程序 ACL的值显式设置为这些用户和组。

值提交应用ACL(acl_submit_applications)也可以设置为“*”(星号),以允许访问所有的用户和组,也可以设置为“”(空格字符)阻止访问到所有用户和组。

如前所述,父队列上的 ACL 设置适用于其所有后代队列。因此,如果父队列使用“*”(星号)值(或未指定)允许访问所有用户和组,则其子队列不能限制访问。同样,在限制对子队列的访问之前,必须先将父队列设置为“”(空格字符)以阻止对所有用户和组的访问。

例如,以下属性会将根提交应用程序 ACL值设置为“”(空格字符)以阻止对所有用户和组的访问,并将对其子“support”队列的访问限制为用户“sherlock”和“john” ”和“cfo-group”组的成员:

每个子队列都通过配置属性绑定到其父队列。顶级的“支持”、“工程”和“营销”队列将绑定到“根”队列。

要基于此示例设置 ACL,请执行以下操作:

  1. 在 Cloudera Manager 中,选择集群 > YARN 队列管理器 UI 服务。图形队列层次结构显示在概览选项卡中。
  2. 单击要设置 ACL 的队列上的三个垂直点,然后选择 查看/编辑队列属性选项。
  3. 在队列属性对话框框,添加sherlock,john cfo-group在提交申请ACL文本框中。
  4. 点击 保存。

单独的 ACL 可用于控制各个级别的队列管理。队列管理员可以向队列提交应用程序,杀死队列中的应用程序,并获取有关队列中任何应用程序的信息(而普通用户被限制查看其他用户应用程序的所有详细信息)。

如果队列管理 ACL值设置为“ ”(空格字符),则会阻止对所有用户和组的访问。如果 ACL 设置为 sherlock,john cfo-group,则它允许访问用户“sherlock”和“john”以及“cfo-group”组的成员。

为特定队列启用抢占

容量调度程序抢占允许较高优先级的应用程序抢占较低优先级的应用程序。

可能会发生这样的情况:队列具有保证级别的集群资源,但必须等待运行应用程序,因为其他队列正在使用所有可用资源。如果启用抢占,高优先级的应用程序不必等待,因为低优先级的应用程序已经占用了可用容量。启用抢占后,服务不足的队列几乎可以立即开始声明其分配的集群资源,而无需等待其他队列的应用程序完成运行。

注意

如果调度器配置中禁用抢占策略,则无法启用特定队列的抢占。有关设置调度程序级别抢占的信息,请参阅配置抢占。

您可以禁用特定队列的队列抢占(yarn.resourcemanager.scheduler.monitor.enable)。

  1. 在 Cloudera Manager 中,选择集群 > YARN 队列管理器 UI 服务。图形队列层次结构显示在概览选项卡中。
  2. 单击队列上的三个垂直点,然后选择查看/编辑队列属性选项。
  3. 在队列属性对话框中,取消选中 启用抢占复选框。
  4. 点击保存。

为特定队列启用队列内抢占

队列内抢占防止队列中的资源不平衡。

队列内抢占有助于根据配置的用户限制或应用程序优先级在队列内有效分配资源。

注意

如果调度器配置中关闭了队列内抢占策略,则无法为特定队列开启队列内抢占。有关设置调度程序级别的队列内抢占的信息,请参阅配置队列内抢占。

禁用特定队列的队列内抢占(yarn.resourcemanager.monitor.capacity.preemption.intra-queue-preemption.enabled)

  1. 在 Cloudera Manager 中,选择集群 > YARN 队列管理器 UI 服务。图形队列层次结构显示在概览选项卡中。
  2. 单击队列上的三个垂直点,然后选择查看/编辑队列属性选项。
  3. 在Queue Properties对话框中,取消选中 Enable Intra Queue Preemption复选框。
  4. 点击保存。

配置动态队列属性

动态队列是根据动态放置规则的预定义表达式自动创建的。

动态创建的叶队列的队列名称旁边将显示一个叶图标。您可以在队列属性的动态自动创建队列部分查看动态创建的叶队列 的队列属性。您可以通过单击其托管父队列的Edit Child Queues选项来配置动态叶队列属性,例如设置用户限制、ACL、排序策略。在托管父队列级别设置的队列属性将应用于其所有叶队列。

在特定队列中设置排序策略

根据您的要求在容量调度程序中设置 FIFO(先进先出)或公平调度策略。

容量调度程序中的默认排序策略是 FIFO(先进先出)。FIFO 通常适用于可预测的重复批处理作业,但有时不适用于按需或探索性工作负载。对于这些类型的工作,公平调度通常是更好的选择。灵活的调度策略使您能够在每个队列的基础上为不同类型的工作负载分配 FIFO 或公平排序策略。

FIFO 和公平共享策略示例

FIFO(先进先出)和公平调度策略在批处理作业和临时作业中的工作方式不同。

批处理示例

在下面的示例中,两个队列具有相同的可用资源。一种使用 FIFO 排序策略,另一种使用公平共享策略。用户一个接一个地向每个队列提交三个作业,等待每个作业开始的时间刚好足够。第一个作业使用队列中资源限制的 6 倍,第二个 4 倍,最后一个 2 倍。

  • 在 FIFO 队列中,6x 作业将启动并运行至完成,然后 4x 作业将启动并运行至完成,然后是 2x 作业。他们将按照 6x、4x、2x 的顺序开始和结束。
  • 在 Fair 队列中,6x 作业将开始,然后是 4x 作业,然后是 2x 作业。所有三个将同时运行,每个使用 1/3 的可用应用程序资源。它们通常会按以下顺序完成:2x、4x、6x。

Ad Hoc Plus 批处理示例

在此示例中,正在运行使用 10 倍队列资源的作业。作业完成一半后,同一个用户开始第二个作业,需要 1 倍的队列资源。

  • 在 FIFO 队列中,10x 作业将一直运行,直到它不再使用所有队列资源(例如,Map阶段完成),然后 1x 作业将启动。
  • 在 Fair 队列中,1x 作业将尽快启动、运行和完成——通过损耗从 10x 作业中获取资源。

排序策略的最佳实践

  • 排序策略是基于每个队列配置的,默认排序策略设置为 FIFO。公平性通常最适合按需、交互式或探索性工作负载,而 FIFO 可以更有效地用于可预测的重复批处理。您应该将这些不同类型的工作负载隔离到配置有适当排序策略的队列中。
  • · 在同时支持大型和小型应用程序的队列中,大型应用程序可能会“饿死”(无法获得足够的资源)。为避免这种情况,请为大作业和小作业使用不同的队列,或使用基于大小的加权来减少排序逻辑倾向于较小应用程序的自然趋势。
  • · 使用最大 AM 资源限制调度程序属性来限制队列中运行的并发应用程序的数量,以避免出现同时运行太多应用程序的情况。每个队列的限制与其队列容量和用户限制成正比。此属性指定为浮点数,例如:0.5 = 50%。默认设置为 0.1=10%。该属性可以通过设置所有队列进行设置最大AM资源限制 在根级别属性,也可以在以每队列基础上通过设置覆盖最大AM资源限制设置默认的应用掌握资源限制在队列级别属性.

配置队列排序策略

您可以将队列排序策略的属性 ( yarn.scheduler.capacity.<queue-path>.ordering-policy ) 配置为 FIFO 或 Fair。默认设置为先进先出。

  1. 在 Cloudera Manager 中,选择集群 > YARN 队列管理器 UI 服务。图形队列层次结构显示在概览选项卡中。
  2. 单击要配置队列排序策略的队列上的三个垂直点,然后选择查看/编辑队列属性选项。
  3. 在Queue Properties对话框中,使用Ordering Policy 下拉框将排序策略选择为FIFO 或 Fair。
  4. 点击保存。

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据杂货铺 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Yarn在全局级别配置调度程序属性
这是CDP中Yarn使用系列中的一篇,之前的文章请参考<使用YARN Web UI和CLI>、<CDP 中配置Yarn的安全性>、<CDP的Yarn资源调度与管理>和<CDP中Yarn管理队列>。
大数据杂货铺
2021/09/15
2.8K0
Yarn在全局级别配置调度程序属性
Yarn配置分区
这是CDP中Yarn使用系列中的一篇,之前的文章请参考<使用YARN Web UI和CLI>、<CDP 中配置Yarn的安全性>、<CDP的Yarn资源调度与管理>、<CDP中Yarn管理队列>、<Yarn在全局级别配置调度程序属性>、<Yarn配置每个队列属性>、<Yarn管理放置规则>和<Yarn管理动态队列>。
大数据杂货铺
2021/09/15
1.6K0
Yarn配置分区
Yarn管理放置规则
这是CDP中Yarn使用系列中的一篇,之前的文章请参考<使用YARN Web UI和CLI>、<CDP 中配置Yarn的安全性>、<CDP的Yarn资源调度与管理>、<CDP中Yarn管理队列>、<Yarn在全局级别配置调度程序属性>和<Yarn配置每个队列属性>。
大数据杂货铺
2021/09/15
2.2K0
Yarn管理放置规则
相对模式下容量调度器的FAIR策略的微调
Cloudera Data Platform (CDP)统一了Cloudera Enterprise Data Hub (CDH)和Hortonworks Data Platform (HDP)的技术。基于详细和仔细的分析,遗留平台(HDP 和 CDH)中存在的一些功能被其他替代方案取代。CDH 用户会使用 Fair Scheduler (FS),而 HDP 用户会使用 Capacity Scheduler (CS)。在彻底分析了遗留平台中可用的 YARN调度器后,Cloudera 选择了 Capacity Scheduler 作为 CDP 支持的 YARN调度器。我们现在已经合并了两个调度器之间的功能,最大限度地减少了对 CDH 用户正在经历这个转换的影响。
大数据杂货铺
2022/12/02
9280
相对模式下容量调度器的FAIR策略的微调
YARN—容量调度器
了解 YARN的容量调度器的基本功能通常是在各种部署中需要处理的一个概念。虽然容量管理涉及共享、扣款和预测等许多方面,但本博客的重点将放在可供平台操作使用的主要功能上。除了基本功能之外,还将复审一些在设计或使用队列时经常遇到的问题。
从大数据到人工智能
2022/09/08
1.6K0
YARN—容量调度器
Fair Scheduler和Capacity Scheduler比较
本节提供有关选择Capacity Scheduler的好处和性能改进的信息,以及Fair Scheduler和Capacity Scheduler之间的功能比较。
大数据杂货铺
2021/01/08
1.6K0
Fair Scheduler和Capacity Scheduler比较
YARN资源调度策略
YARN 资源调度器是直接从MR基础上修改而来,它提供了三种可用资源调度器。
洛杉矶
2018/08/25
8.4K0
Spark on Kubernetes:Apache YuniKorn如何提供帮助
Apache Spark在一个平台上统一了批处理、实时处理、流分析、机器学习和交互式查询。尽管Apache Spark提供了许多功能来支持各种用例,但它为集群管理员带来了额外的复杂性和较高的维护成本。让我们看一下底层资源协调器的一些高级要求,以使Spark成为一个平台:
大数据杂货铺
2020/10/29
1.6K0
Spark on Kubernetes:Apache YuniKorn如何提供帮助
Yarn管理动态队列
这是CDP中Yarn使用系列中的一篇,之前的文章请参考<使用YARN Web UI和CLI>、<CDP 中配置Yarn的安全性>、<CDP的Yarn资源调度与管理>、<CDP中Yarn管理队列>、<Yarn在全局级别配置调度程序属性>、<Yarn配置每个队列属性>和<Yarn管理放置规则>。
大数据杂货铺
2021/09/15
1.9K0
Yarn管理动态队列
工作常用之Yarn详解【五】资源调度与隔离
在YARN中,资源管理由ResourceManager和NodeManager共同完成,其中,ResourceManager中的调度器负责资源的分配,而NodeManager则负责资源的供给和隔离。
Maynor
2022/12/02
2.1K0
Hadoop Yarn上的调度器
Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。
smartsi
2019/08/07
7200
0761-7.0.3-如何使用YARN Queue Manager UI配置集群资源
在CDP DC上,YARN资源的调度程序默认为Capacity Scheduler。我们可以通过YARN Queue Manager UI来界面化配置YARN的资源队列,队列权重,队列资源,以及队列的ACL等。本文主要讲述如何在CDP DC 7.0.3集群上使用YARN Queue Manager UI来控制队列的资源分配和队列的提交策略。
Fayson
2020/04/21
2.9K0
0761-7.0.3-如何使用YARN Queue Manager UI配置集群资源
YARN 资源调度那些事儿
本篇文章简要介绍了YARN调度器,以及小米的探索与实践。 作者:小米运维 已获得原创公众号:小米运维授权,原文章地址:https://mp.weixin.qq.com/s?__biz=MzUxMDQx
Fayson
2018/10/23
2.4K0
YARN 资源调度那些事儿
CDP-DC7.1中的 YARN:新增功能和升级方法
该博客文章将介绍客户如何将集群和工作负载迁移到新的CDP-DC7.1,以及此新版本的重点。
大数据杂货铺
2020/07/16
1.3K0
CDP-DC7.1中的 YARN:新增功能和升级方法
大数据之Yarn——Capacity调度器概念以及配置
试想一下,你现在所在的公司有一个hadoop的集群。但是A项目组经常做一些定时的BI报表,B项目组则经常使用一些软件做一些临时需求。那么他们肯定会遇到同时提交任务的场景,这个时候到底如何分配资源满足这两个任务呢?是先执行A的任务,再执行B的任务,还是同时跑两个? 如果你存在上述的困惑,可以多了解一些yarn的资源调度器。 在Yarn框架中,调度器是一块很重要的内容。有了合适的调度规则,就可以保证多个应用可以在同一时间有条不紊的工作。最原始的调度规则就是FIFO,即按照用户提交任务的时间来决定哪个任务先
用户1154259
2018/01/17
1.6K0
大数据之Yarn——Capacity调度器概念以及配置
0760-7.0.3-如何使用Cloudera Manager设置使用YARN队列的ACL
YARN的队列默认支持ACL的功能,即可以控制哪些用户/组可以提交任务到指定队列,也可以控制哪些用户/组可以管理该队列的作业(删除作业)。通过YARN Queue Manager UI可以界面化配置YARN的资源队列,队列权重,队列资源,以及队列的ACL等。本文主要讲述如何在CDP DC 7.0.3集群上使用YARN Queue Manager UI来控制队列的ACL。
Fayson
2020/04/21
2K0
0760-7.0.3-如何使用Cloudera Manager设置使用YARN队列的ACL
0770-Apache YuniKorn (Incubating) 0.8发布
Apache YuniKorn(Incubating)是一个独立的资源调度程序,旨在将针对大数据工作负载的高级调度功能引入容器化平台。具体可以参考前面的文章《YuniKorn:一个通用的资源调度程序》。
Fayson
2020/05/20
1.3K0
Apache Hadoop Yarn 调度器(二)
理想情况下,我们应用对Yarn资源的请求应该立刻得到满足,但现实情况资源往往是有限的,特别是在一个很繁忙的集群,一个应用资源的请求经常需要等待一段时间才能的到相应的资源。 在Yarn中,负责给应用分配资源的就是Scheduler。其实调度本身就是一个难题,很难找到一个完美的策略可以解决所有的应用场景。为此,Yarn提供了多种调度器和可配置的策略供我们选择。 在Yarn中有三种调度器可以选择:FIFO Scheduler ,Capacity Scheduler,Fair Scheduler。
刘浩的BigDataPath
2021/04/13
9890
Apache Hadoop Yarn 调度器(二)
YARN资源调度器
随着Hadoop的普及,单个Hadoop集群的用户量越来越大,不同用户提交的应用程序往往具有不同的服务质量要求,典型的应用有以下几种: 批处理作业。这种作业往往耗时较长,对完成时间一般没有严格要求,如数据挖掘、机器学习等方面的应用程序 交互式作业。这种作业期望能及时返回结果,如用HIVE执行查询 生产性作业。这种作业要求有一定量的资源保证,如统计值计算、垃圾数据分析等 ---- 基本架构 资源调度器是YARN中最核心的组件之一,且是插拔式的,它定义了一整套接口规范以便用户可按照需要实现自己的调度器 YAR
codingforfun
2018/08/24
1.2K0
CDP私有云基础版7.1.6版本概要
Cloudera于2021年3月宣布发布Cloudera Data Platform(CDP)私有云(PvC)基本版本7.1.6和Cloudera Manager版本7.3.1。这些版本引入了从HDP 3到CDP私有云基础版的直接升级路径,同时添加了许多增强功能以简化从CDH 5和HDP 2的升级和迁移路径,并汇总了先前版本中的所有先前维护增强功能。
大数据杂货铺
2021/04/16
1.7K0
相关推荐
Yarn在全局级别配置调度程序属性
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文