hadoop中yarn的原理及运行

一:对yarn的理解

1.关于yarn的组成

  大约分成主要的四个。

  Resourcemanager,Nodemanager,Applicationmaster,container

 

2.Resourcemanager(RM)的理解

  RM是全局资源管理器,负责整个系统的资源管理和分配。

  主要由两个组件组成:调度器和应用程序管理器(ASM)

  调度器:根据容量,队列等限制条件,将系统中的资源分配给各个正在运行的应用程序,不负责具体应用程序的相关工作,比如监控或跟踪状态

  应用程序管理器:负责管理整个系统中所有应用程序

 

3.Applicationmaster(AM)

  用户提交的每个应用程序均包含一个AM

  AM的主要功能:

    (1)与RM调度器协商以获取资源(用Container表示)

    (2)将得到的任务进一步分配给内部的任务

    (3)与NM通信以自动/停止任务

    (4)监控所有任务运行状态,并在任务运行失败时重新为任务申请资源以重启任务

  当前YARN自带了两个AM实现:

    一个用于演示AM编写方法的实例程序distributedshell

    一个用于Mapreduce程序---MRAppMaster

  其他的计算框架对应的AM正在开发中,比如Spark

 

4.Nodemanager

  NM是每个节点上的资源和任务管理器

    (1)定时向RM汇报本节点上的资源使用情况和各个Container的运行状态

    (2)接收并处理来自AM的Container启动/停止等各种要求

  

5.container  

  Container是YARN中的资源抽象,它封装了某个节点上的多维度资源

      YARN会为每个任务分配一个Container,且该任务只能使用该Container中描述的资源

 

二:mapreduce在yarn上运行

1.流程图

  

2.流程

  (1):由客户端提交一个应用,由RMAM接受应用请求

  提交过来的应用程序包括哪些内容:

  a:ApplicationMaster

  b:启动Applicationmaster的命令

  c:本身应用程序的内容

  (2):提交了三部分内容给RM,然后RM找NodeManager,然后Nodemanager就启用Applicationmaster,并分配Container

    接下来我们就要执行这个任务了,

  (3):但是执行任务需要资源,所以我们得向RM的ASM申请执行任务的资源(它会在RM这儿注册一下,说我已经启动了,注册了以后就可以通过RM的来管理,我们用户也可以通过RM的web客户端来监控任务的状态)AM只是负责ApplicationMaster的启用

  (4)我们注册好了后,得申请资源,申请资源是通过第四步,向ResourceScheduler申请的

  (5)申请并领取资源后,它会找Nodemanager,告诉他我应经申请到了,然后Nodemanager判断一下,

  (6)知道他申请到了以后就会启动任务,当前启动之前会准备好环境,

  (7)任务启动以后会跟APplicationmaster进行通信,不断的心跳进行任务的汇报。

  (8)完成以后会给RM进行汇报,让RM撤销注册。然后RSM就会回收资源。当然了,我们是分布式的,所以我们不会只跟自己的Nodemanager通信。也会跟其他的节点通信。

通俗解释:

1.client向yarn提交job,首先找ResourceManager分配资源,
2.ResourceManager开启一个Container,在Container中运行一个Application manager
3.Application manager找一台nodemanager启动Application master,计算任务所需的资源
4.Application master向Application manager(Yarn)申请运行任务所需的资源
5.Resource scheduler将资源封装发给Application master
6.Application master将获取到的资源分配给各个nodemanager
7.各个nodemanager得到任务和资源开始执行map task
8.map task执行结束后,开始执行reduce task
9.map task和 reduce task将执行结果反馈给Application master
10.Application master将任务执行的结果反馈Application manager。
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值