【YARN】hadoop yarn集群中如何管理cpu资源

本文介绍了在YARN中管理CPU资源的方法,包括将CPU作为一类资源、YARN调度器中的资源计算、DominantResourceCalculator的作用,以及CPU资源对application-level调度的影响和集群容量规划。同时讨论了启用CPU调度的配置细节,如scheduler.capacity.resource-calculator和nodemanager.resource.cpu-vcores等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍

当用yarn进行资源管理时,yarn平台开发人员主要关注两个方面:

  1. 资源分配(Resource allocation):具有所需资源和资源的最佳节点上分配应用的containers。
  2. 强制和资源隔离使用(Enforcement and isolation of Resource usage):在任何节点上,不要让container超出其承诺的/保留的资源。

将CPU作为一类资源

将CPU作为资源分配时出现的一些重要问题是:

  1. 应用程序如何将其CPU需求告知平台?
  2. NodeManager(NM)如何告知ResourceManager(RM)所有YARN容器可消耗多少CPU?
  3. 在具有异构硬件的群集中,如何计算具有更快CPU的节点?

上述问题的答案是引入了称为“ vcores”的新概念-虚拟内核的缩写。管理员必须在每个节点上的yarn-site.xml中设置vcore的数量。应将其设置为多少取决于群集中运行的工作负载类型和可用硬件类型。通常的建议是将其设置为节点上的物理核心数量,但是如果管理员希望在具有更快CPU的节点上运行其他容器,则可以增加它的数量。

当NM启动时,它们将此值报告给RM,RM随后使用该值进行有关集群中CPU资源分配的计算。另一方面,应用程序也将vcores指定为其分配请求的一部分。这样可以使RM从CPU角度了解其资源需求。

YARN scheduler中的可插入资源向量

该CapacityScheduler有一个概念ResourceCalculator -一个用于通过查看所有已确定的资源进行分配的数学可插拔的层。这包括有助于做出以下决定的实用程序:

  • 此节点是否具有每种资源类型的足够资源来满足此请求?
  • 我可以在该节点上容纳多少个containers,对具有可用资源的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值