YARN Federation的架构设计

YARN Federation为解决ResourceManager扩展性问题而设计,通过构建逻辑上的超大资源池,实现跨集群资源调度。它包含多集群状态信息收集、客户端请求路由服务,并采用Policy策略进行智能调度。客户端通过Router提交应用请求,Router根据Policy选择目标集群并转发。YARN Federation还支持AM跨集群间的资源调度,借助AMRMProxy服务完成资源申请。设计上与HDFS的Router-based Federation有相似之处,但YARN Federation的调度更复杂,包含Router Policy和AMRMProxy代理角色。

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

前言


对于HDFS的扩展性问题来说,很多人或许都了解过HDFS federation的方案,一种通过横向扩展命名空间的做法来延展其扩展性。其实,随着集群规模的扩张,不仅仅存储系统会有性能瓶颈问题,计算系统也会存在这样的问题,比如说YARN的ResourceManager(下面简写为RM)服务。当RM下面管理这上千甚至上万个NodeManager节点时,同样会面临着许多性能问题,大量同时在跑的应用所触发的待处理的event数等等问题。一般这种情况,我们的一个简单直接的方案是再搭建一个新的YARN集群。因为Hadoop中存储和计算是可以分离的,所以独立搭建YARN完全没有任何问题。之后引流一部分在线任务到新的YARN集群即可分担单集群的压力了。但是这套简单直接的方法会造成日后多独立集群管理的不便,而且更为重要的一点是它无法保证资源的更高使用率。本文笔者来聊聊YARN对此更有的解决方案:YARN Federation设计。

YARN Federation缘由


正如前文所阐述的,YARN的Federation的缘由是为了解决RM的扩展性问题的。如果单纯通过搭建新的YARN独立集群的方式,会造成管理的不便,还有一点就是资源无法被充分利用到。我们无法保证每个集群在资源空闲的时候能够及时地安排上任务执行,除非我们有一种全局控制各个RM的调度器。至少在独立集群部署模式下,做到这种智能调控并不容易。而在这点上,YARN Federation已经为我们实现了这点。

下面我们来具体了解YARN Federation的架构设计,通过了解它的架构设计,我们就能更清楚地知道它是如何做全局资源调度的了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值