Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Yarn在全局级别配置调度程序属性

Yarn在全局级别配置调度程序属性

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

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

您可以配置调度程序属性来定义所有队列的行为。所有父队列和子队列都继承使用调度程序属性设置的属性。

在 Cloudera Manager 中,您可以使用调度程序配置选项卡来配置调度程序属性。

  1. 在 Cloudera Manager 中,选择集群 > YARN 队列管理器 UI 服务。
  1. 在 YARN Queue Manager 窗口中,单击Scheduler Configuration选项卡。
  1. 在Scheduler Configuration窗口中,输入属性的值并单击Save。

设置全局最大应用优先级

您可以使用优先级调度以更高的优先级运行 YARN 应用程序,而不管集群中已经运行的其他应用程序如何。YARN 将更多资源分配给以更高优先级运行的应用程序,而不是那些以较低优先级运行的应用程序。优先级调度使您能够在提交时和运行时动态设置应用程序的优先级。

优先级调度仅适用于 FIFO(先进先出)排序策略。FIFO 是默认的容量调度程序排序策略。

要设置应用程序优先级(yarn.cluster.max-application-priority),请执行以下操作:

  1. 在 Cloudera Manager 中,选择集群 > YARN 队列管理器 UI 服务。图形队列层次结构显示在概览选项卡中。
  2. 单击调度程序配置选项卡。
  3. 在最大应用程序优先级文本框中输入优先级。
  4. 点击保存。

配置抢占

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

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

您可以使用优先级调度以更高的优先级运行 YARN 应用程序,而不管集群中已经运行的其他应用程序如何。有关更多信息,请参阅 设置全局最大应用程序优先级。

要在所有队列上配置队列抢占选项,请执行以下操作:

  1. 在 Cloudera Manager 中,选择Clusters > YARN Queue Manager UI服务。图形队列层次结构显示在概览 选项卡中。
  2. 单击调度程序配置选项卡。
  3. 选中启用监控策略复选框。
  4. 指定 org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity.ProportionalCapacityPreemptionPolicy 作为监控策略文本框中使用的监控策略
  5. 配置所需的抢占属性:
    • 抢占:仅观察- 选中该复选框以运行策略,但不会影响具有抢占和终止事件的集群。
    • 抢占:监控间隔 (ms) - 调用此策略之间的时间(以毫秒为单位)。将此值设置为较长的时间间隔会导致容量监视器的运行频率降低。
    • Preemption: Maximum Wait Before Kill (ms) - 从应用程序请求抢占和终止容器之间的时间(以毫秒为单位。将此设置为更高的值可使应用程序有更多时间响应抢占请求并优雅地释放容器。
    • 抢占:每轮总资源- 在单轮中被抢占的最大资源百分比。您可以使用此值来限制从集群中回收容器的速度。在计算所需的总抢占后,策略将其缩放回此限制。
    • Preemption: Over Capacity Tolerance - 为抢占而忽略的超出目标容量的最大资源量。默认值为 0.1,这意味着资源管理器仅在队列超出其保证容量 10% 时才开始抢占队列。这避免了资源轮换和积极抢占。
    • Preemption: Maximum Termination Factor - 每个队列的每个周期被抢占的抢占目标容量的最大百分比。您可以增加此值以加快资源回收。
  6. 点击保存。

启用队列内抢占

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

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

要在所有队列上配置队列内抢占(yarn.resourcemanager.monitor.capacity.preemption.intra-queue-preemption.enabled),请执行以下操作:

  1. 在 Cloudera Manager 中,选择集群 > YARN 队列管理器 UI 服务。图形队列层次结构显示在概览选项卡中。
  2. 单击调度程序配置选项卡。
  3. 选中启用队列内抢占复选框。

设置全局应用限制

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

您可以使用此配置属性设置最大应用程序限制 ( yarn.scheduler.capacity.maximum-applications )。默认值为 10,000。

  1. 在 Cloudera Manager 中,选择集群 > YARN 队列管理器 UI 服务。图形队列层次结构显示在概览选项卡中。
  2. 单击调度程序配置选项卡。
  3. 在最大应用程序 文本框中输入最大应用程序限制。
  4. 点击保存。

设置默认应用程序主资源限制

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

最大 AM 资源限制 ( yarn.scheduler.capacity.maximum-am-resource-percent ) 属性还间接控制集群中并发运行的应用程序数量,每个队列限制为与其容量成比例的运行应用程序数量。

  1. 在 Cloudera Manager 中,选择集群 > YARN 队列管理器 UI 服务。图形队列层次结构显示在概览选项卡中。
  2. 单击调度程序配置选项卡。
  3. 在最大 AM 资源限制 文本框中输入最大 AM 资源限制。
  4. 点击保存。

启用异步调度程序

异步调度器将 CapacityScheduler 调度与节点心跳解耦。这显着改善了延迟。

要启用异步调度(yarn.scheduler.capacity.schedule-asynchronously.enable),请执行以下操作:

  1. 在 Cloudera Manager 中,选择集群 > YARN 队列管理器 UI 服务。图形队列层次结构显示在概览选项卡中。
  2. 单击调度程序配置选项卡。
  3. 选中启用异步调度程序复选框。
  4. 点击保存。

使用 Cloudera Manager 配置队列映射以使用来自应用程序标签的用户名

您可以将队列映射配置为使用应用程序标记中的用户名,而不是提交作业的代理用户。

当用户运行 Hive 查询时,HiveServer2 提交从最终用户而不是 Hive 用户映射的队列中的查询。例如,当用户alice以doAs=false模式提交 Hive 查询时,作业将作为hive用户在 YARN 中运行 。如果启用了基于应用程序标签的调度,则作业将根据用户alice的队列映射配置放置到目标队列中 。

有关队列映射配置的更多信息,请参阅管理放置规则。有关 Hive 访问的信息,请参阅Apache Hive文档。

  1. 在 Cloudera Manager 中,选择YARN服务。
  2. 单击配置选项卡。
  3. 搜索ResourceManager。在Scope的 Filters 窗格下,选择ResourceManager。
  4. 在yarn-site.xml 的ResourceManager 高级配置片段(安全阀)中添加以下内容:
    1. 启用该application-tag-based-placement属性以根据使用应用程序标签传递的用户 ID 启用应用程序放置。

名称:yarn.resourcemanager.application-tag-based-placement.enable

值:true

说明:设置为“true”以根据使用应用程序标签传递的用户 ID 启用应用程序放置。当它被启用时,它会检查 userid=<userId> 模式,如果找到,应用程序将被放入找到的用户的队列中,如果原始用户对传递的用户队列具有所需的权限。

    1. 在许可名单中添加可以使用基于应用程序标签的展示位置的用户列表。当提交的用户包含在许可名单中时,应用程序将被放置到yarn.scheduler.capacity.queue-mappings应用程序标签中为用户定义的属性中定义的队列中。如果没有定义用户,则将使用提交用户。

名称:yarn.resourcemanager.application-tag-based-placement.username.whitelist

值:

说明:如果启用了“yarn.resourcemanager.application-tag-based-placement.enable”,则逗号分隔的用户列表可以使用基于应用程序标签的放置。

  1. 重新启动ResourceManager服务以应用更改。

配置 NodeManager 心跳

您可以控制在每个 NodeManager 心跳中可以分配多少个容器。

要为所有队列配置 NodeManager 心跳,请执行以下操作:

  1. 在 Cloudera Manager 中,选择Clusters > YARN Queue Manager UI 服务。图形队列层次结构显示在概览选项卡中。
  2. 单击调度程序配置选项卡。
  3. 选中Enable Multiple Assignments Per Heartbeat复选框以允许在一个 NodeManager heartbeat 中进行多个容器分配。
  4. 配置以下 NodeManager 心跳属性:
    • 每个心跳的最大容器分配- 在一个 NodeManager 心跳中可以分配的最大容器数。将此值设置为 -1 将禁用此限制。
    • 每个心跳的最大关闭开关分配- 在一个 NodeManager 心跳中可以分配的最大关闭开关容器数。
  5. 点击保存。

配置数据本地化

容量调度器利用延迟调度来满足任务局部性约束。局部约束分为三个级别:节点本地、机架本地和关闭开关。当不能满足局部性时,调度器会计算错过的机会数量,并等待此计数达到阈值,然后再将局部性约束放宽到下一个级别。您可以使用Node Locality Delay ( yarn.scheduler.capacity.node-locality-delay ) 和Rack Locality Additional Delay ( yarn.scheduler.capacity.rack-locality-additional-delay ) 字段配置此阈值。

要配置数据局部性,请执行以下操作:

  1. 在 Cloudera Manager 中,选择Clusters > YARN Queue Manager UI 服务。图形队列层次结构显示在概览选项卡中。
  2. 单击调度程序配置选项卡。
  3. Node Locality Delay文本框中,输入可能错过的调度机会数。

容量调度程序仅在错过此数量的机会后才尝试调度机架本地容器。您必须确保此数量与集群中的节点数量相同。

  1. Rack Locality Additional Delay文本框中,输入错过的调度机会的数量,在 Node Locality Delay 之后,Capacity Scheduler 应尝试调度关闭开关容器。

值为 -1 表示根据公式L * C / N计算该值,其中L是资源请求中指定的位置(节点或机架)数量,C是请求的容器数量,N是集群的大小。

  1. 点击保存。

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

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
去中心化数字身份DID简介——五、DID的应用
在上一篇文章中,我们给出了一种零知识证明的方法,解决用户身份属性的隐私问题,下面我们再来谈谈基于DID技术,我们都能在什么场景去应用。
深蓝studyzy
2022/06/16
2.3K0
去中心化数字身份DID简介——一、基本概念
本人最近正在研究数字身份DID技术,该技术在区块链领域目前还比较冷门,并没有什么实际的应用案例,但是数字身份的应用场景广阔,是一个必然会火起来的技术。于是打算写几篇文章,好好讲一下其中涉及到的概念,技术实现和应用场景。先从基本概念讲起:
深蓝studyzy
2022/06/16
5.7K0
去中心化数字身份DID简介——一、基本概念
DPKI的崛起之路——分布式数字身份(DID)
互联网的出现和普及使得传统身份有了另一种表现形式,即数字身份,除自然人以外,机构组织、智能设备、虚拟网络都可以作为实体并拥有数字身份,这些实体作为数字化社会的重要组成部分,共同构建了数字生态,数字社会身份体系如下图所示。
绿盟科技研究通讯
2022/06/06
2.7K0
DPKI的崛起之路——分布式数字身份(DID)
什么是去中心化身份(DID),为什么你应该关心它?
使用电子商务进行网上购物,使用社交网络交流,使用电子邮件进行工作沟通--这样的例子不胜枚举。
Tiny熊
2022/11/07
1.5K0
什么是去中心化身份(DID),为什么你应该关心它?
本体技术视点 | 当微软的去中心化身份梦想照进现实(上)
此前,我们多次分享了本体在去中心化数字身份方面的实践,包括区块链技术如何保护数字身份和辨识“Deepfake”、再谈Deepfake,去中心化数字身份如何“见招拆招”?等。今天,本体研究院翻译了一篇来自关于全球科技巨头微软(Microsoft)的去中心化身份相关的文章,与大家一起深入洞察行业动态。
本体Ontology
2021/03/26
4300
本体技术视点 | 当微软的去中心化身份梦想照进现实(上)
加密货币仍在争论它应该在多大程度上关注隐私
一群被称为密码朋克的密码学专家和自由主义者在开发加密货币和区块链技术方面发挥了关键作用。他们成立于 1980 年代末和 1990 年代初,其共同愿景是使用密码学来保护隐私、抵制审查制度并促进数字时代的个人自由。
小将
2023/02/18
3410
加密货币仍在争论它应该在多大程度上关注隐私
本体技术视点 | 去中心化身份即元平台:合作的力量(一)
原文:《Decentralized Identity as a Meta-platform: How Cooperation Beats Aggregation》
本体Ontology
2020/03/19
5930
本体技术视点 | 去中心化身份即元平台:合作的力量(一)
本体技术视点 | 当微软的去中心化身份梦想照进现实(下)
上一期,我们分享了全球科技巨头微软(Microsoft)在去中心化身份领域的实践,初步介绍了其“Azure Active Directory 可验证凭证”技术,在英国 NHS(National Health Service,国家卫生服务局) 试点中,一名医生从进入医院开始注册到救死扶伤仅需要5分钟的时间。
本体Ontology
2021/03/26
5370
本体技术视点 | 当微软的去中心化身份梦想照进现实(下)
Play-to-Earn!关于去中心化身份与GameFi的思考
在过去的几年里,游戏行业经历了令人难以置信的增长,2020年比前一年扩张了23%,与此同时,游戏行业与区块链的集成见证了“Play-to-Earn”的大热。
本体Ontology
2022/04/28
3080
Play-to-Earn!关于去中心化身份与GameFi的思考
区块链数字 ID 系统的主要功能
区块链数字 ID 系统旨在通过去中心化、加密安全和用户自主控制,彻底改变传统身份管理模式。它将用户的身份数据所有权归还给用户,而非由中心化机构掌控。
数字孪生开发者
2025/06/23
1400
区块链实现数字 ID 的技术方案
区块链技术为数字身份(Digital ID)提供了革命性的解决方案,主要通过去中心化、防篡改和用户自主控制的特性,解决了传统中心化身份系统面临的数据泄露、隐私侵犯和效率低下等问题。
数字孪生开发者
2025/06/23
1960
区块链实现数字 ID 的技术方案
本体技术视点 | 自主主权身份的一些思考(下)
https://coinmarketcap.com/alexandria/article/a-guide-to-self-sovereign-identity-a-deep-dive-by-ontology
本体Ontology
2021/05/07
3900
本体技术视点 | 当去中心化身份遇上智能汽车(下)
视频中演示了 Daphne 驾驶应用本体解决方案的汽车,使用面部识别功能启程,使用数字资产支付,用大数据分析突发路况,通过本体信用分判断是否共享,发起路权申请避开拥堵,在应用内完成云端理赔,实现车辆生命周期的系统管理。
本体Ontology
2020/09/08
3670
Web3 的身份问题:去中心化身份的需求
身份应该是 Web3 中的一个主要问题,因为它涉及拥有它的个人以及他们与空间中其他利益相关者的互动。此外,对于像 DeFi 这样的空间,大规模采用取决于创建无缝的身份验证过程。本文探讨了去中心化身份 (DID)、围绕这一现象的好处和问题,以及建立在愿景之上的品牌。
飞机号dapp119
2022/11/18
5450
Web3 的身份问题:去中心化身份的需求
基于区块链的数字身份认证:重塑身份安全的新范式
随着互联网的普及与数字化进程的加快,数字身份认证已成为现代社会不可或缺的一部分。从登录社交媒体账户到在线银行交易,身份认证贯穿我们的日常生活。然而,传统的身份认证系统面临数据泄露、身份冒用等安全问题,越来越难以满足现代社会对隐私与安全的高要求。基于区块链的数字身份认证应运而生,为身份认证提供了一种去中心化、安全性强且透明的解决方案。
Echo_Wish
2025/01/19
8770
基于区块链的数字身份认证:重塑身份安全的新范式
《金融分布式数字身份技术研究报告》发布
在万物互联的时代背景下,金融科技发展正在加速重构金融业务新版图。网络数字化时代,数字身份作为网络安全的基石,既是物理世界主体在网络世界的映射,也是各主体在网络世界活动的基础。为此,北京金融科技产业联盟依托区块链专业委员会,联合金融机构、区块链领域权威科技公司及高等院校等共同开展分布式数字身份技术在金融领域的应用研究工作,形成《报告》。
bengbengsu
2022/04/26
1K0
《金融分布式数字身份技术研究报告》发布
本体行业观点 | 去中心化身份DID如何推进加密技术发展?
注:本文发表于知名区块链新闻媒体平台 The Defiant ,作者 Humpty Calderon 为 Ontology 社区主管。
本体Ontology
2021/10/26
6450
本体技术视点 | 去中心化身份框架ONT ID刷新汽车驾驶体验
近期,本体技术视点带来了区块链领域的“芝麻信用”——OScore 的细致解读,也介绍了本体的 ONT ID 和信任锚平台 ONT TAG 如何助力币安智能链上的 STO 项目。本期技术视点将围绕本体的去中心化身份框架 ONT ID 展开。
本体Ontology
2020/09/25
7350
本体技术视点 | 去中心化身份框架ONT ID刷新汽车驾驶体验
【区块链应用】-“通往web3的护照”-“DID”
波卡的联合创始人Robert Habermeier投资波卡生态去中心化身份聚器Litentry项目的消息开始在坊间传开,大家开始注意到这个“冷门领域”——去中心化身份(DID)。
帆说区块链
2022/08/30
6330
【区块链应用】-“通往web3的护照”-“DID”
Web3.0 中的去中心化身份
在我们的日常生活中,我们经常与不同的身份进行交互,例如电子邮件地址、社交媒体帐户、护照等。这些数据通常存储在集中式服务器中并由第三方公司控制,因此身份所有者无法控制这些信息。更糟糕的是,如果组织禁止所有者访问其服务或组织不复存在,则存储的数据将被淘汰。
飞机号dapp119
2022/11/10
6310
Web3.0 中的去中心化身份
推荐阅读
相关推荐
去中心化数字身份DID简介——五、DID的应用
更多 >
LV.0
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档