Hadoop学习——YARN

1、Yarn的大致结构

Resource ManagerRM,资源管理器):负责整个系统的资源管理和分配,并且由SchedulerApplication Manager组成;

Scheduler(调度器):根据容量、队列等,将系统中资源分配给各个正在运行的应用程序;

Application Manager(ASM,应用程序管理器):负责管理整个系统中所有应用程序,包括应用程序提交、与调度器协商资源以启动Application Master、监控Application Master运行状态并在失败时重新启动它等;

Application Master(AM)用户提交的每个应用程序均包含一个AM,主要功能包括:与RM协商以获取资源(用Container表示)、与NM通信启动或停止任务、监控所有任务运行状态,并在任务运行失败时重新为任务申请资源以重启任务;

Node ManagerNM,节点管理器):是每个节点的资源和任务管理器。一方面,定时地向RM汇报本节点上的资源使用情况和各个container的运行状态;另一方面,接受并处理来自AM的Container通信;

Container:是Yarn上的资源抽象,封装了某个节点上的内存、CPU资源,当AM向RM申请资源时,RM为AM返回的资源便是使用Container表示。一个任务对应一个Container。

2、RM(ResourceManager)和NM(NodeManager)的交互

RM负责找到一个能够在容器中启动application master的NM-节点管理器;

NM会定时的向RM汇报本节点上的资源使用情况和各个container的运行状态。

3、Yarn是如何分配任务的?

首先,客户端联系资源管理器,要求它运行一个Application Master进程;然后,资源管理器找到一个能够在容器中启动Application Master的节点管理器。之后可能只是做一个简单的运算,也有可能需要向资源管理器请求更多的容器,用以完成一个分布式计算。

4、Yarn中的调度器(具体内容建议翻阅《Hadoop权威指南》)

三种调度器:FIFO Scheduler、Capacity Scheduler、Fair Scheduler

1FIFO调度器:将应用放置在一个队列中,然后按照提交的顺序(先进先出)运行应用;

2)容量调度器:允许多个组织共享一个集群资源,一个组织被配置一个专门的队列,在每个队列中,使用FIFO调度策略对应用进行调度;

3)公平调度器:在同一个队列中的应用会得到相同的资源运行。

5、Yarn的优势

可扩展性(Scalability:根据《Hadoop权威指南》所说,利用其资源管理器和application master分离的架构优点,可以扩展到面向近万个节点和近十万个任务;

可用性(Avaliability:相比较之前JobTracker的高可用,Yarn将其分而治之:先为资源管理器提供高可用性,再为Yarn应用(针对每个应用)提供高可用性;

利用率(Utilization:一个节点管理器管理一个资源池,对资源是精细化管理的;

多租户(Multitenancy:MapReduce只是Yarn应用中的一个。

 

给张Yarn应用的运行机制图(摘录自《Hadoop权威指南》)

Yarn应用的运行机制

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值