YARN的介绍与学习以及(MapReduce on yarn )

YARN 作用 :资源调度分配

比 开启hdfs多两个进程 ResourceManager NodeManager 这两个进程

主要的模块

1.ResourceManager (RM)

yarn的资源控制框架的中心模块,负责集群中的所有的资源的统一管理和分配。

RM里面: 调度器 应用管理器

2.调度器(ResourceScheduler)

根据各个应用程序的资源需求,进行分配

3.应用管理器(Applications Manager)

负责监控和跟踪AM的执行状态

4.NodeManager(NM)

是ResourceManager每台机器上的代理,负责容器的管理,并监控他们的资源使用情况(CPU,内存,磁盘,网络等等),以及向RM进行这些资源的汇报

5.ApplicationMaster(AM)

yarn中每个应用都会启动一个AM,负责向RM去申请资源,请求NM启动Container,并告诉container去做什么

6.Container

这是一个虚拟的一个概念

yarn中所有应用都是再container上运行的,包括(AM)

                   1.container是yarn中资源的抽象(申请到的资源),它封装了某个节点上的一定资源

(cpu,磁盘,内存,网络等等)

                   2.container由AM向RM申请,由RM中的ResourceScheduler分配给AM

   container 分类

  1.运行AM的container

  2.运行各类任务的container,由AM向RM申请的

MapReduce on yarn

下图就是 MapReduce on yarn

1Cilent向RM提交应用程序,其中包括AM主程序,启动AM的命令,用户的程序(wordcount)

2.RM为该应用分配第一个Container,并于NM通信,要求NM在这个Container启动AM

3.AM首先向RM注册,这样用户可以直接通过RM来查看程序的运行状态 (9527?8088端口可以看到)

4.AM通过RPC协议向ResourceScheduler申领资源

5.一旦申领到资源,与NM通信,要求NM启动任务

6.NM为任务设置好运行环境(环境变量 , hadoop jar包   hadoop.env),将任务的启动命令写到一个脚本中,并通过脚本触发启动任务。(hadoop jar share/.......     wc.sh)

7.各个Container的Task(Map Task,Reduce Task),通过RPC向AM进行进度和状态的汇报,以便AM可以随时掌握任务的运行状态,失败的时候也会重启container任务

8.应用程序运行完成后,AM会向RM申请注销和关闭

总结

1-4 启动ApplicationMaster 领取资源

5-9 启动任务直到任务结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值