MR程序在yarn上运行流程机制

请添加图片描述

1.客户端提交job到ResourceManager

2.RM中的MRApplication分配一个jobid和临时的工作目录返回给客户端

3.客服端进行初始化

1.创建工作目录
2.构建配信息conf.xml
3.上传jor包到hdfs中
4.读取文件计算切片(遍历输入路径下的所有文件,根据文件大小计算任务切片,文件<=128M*1.1就切分为一个任务切片,得到多个任务切片数,假如有3个任务切片就是3个maptask任务)

4.客户端请求RM创建一个初始化的容器(存运算资源,cpu的个数,内存的个数)

5.RM交给scheduler调度器进行分配(调度器记录了各个节点的cpu内存网络IO)

6.scheduler调度器将分配资源的任务放到队列(任务就是让nodemanager1创建初始化容器)

7.nodemanager1领取自己的任务,然后创建容器container

8.NM1中的MRAppMaster从hdfs中下载对应jobID中的所有内容(jar包,配置,任务切片信息)

9.客户端发送shell命令启动程序(发送给RM中的Applications)

10.RM中的Applications启动对应的MRAppMaster工作

11.MRAppMaster请求RM创建5个容器

12.nodemanageer领取自己的maptask任务,创建容器

13.MRAppMaster启动task任务,然后容器中的yarnchild开始运行maptask任务

14.并将任务进度汇报给MRAppMaster,然后MRAppMaster将整体的任务进度汇报给RM中的ApplicationMaster

15.maptask任务运行一段时间后,在NM中创建reducetask任务的容器,然后MRAppMaster启动reduce任务

16.然后将reduce任务运行的进度汇报给MRAppMaster,再将整体任务进度汇报给RM中的ApplicationMaster

17.整个任务完成后,释放yarnChild对象,回收maptask的容器

18.释放yarn Child对象,回收reducetask的容器

19.回收MRAppMaster容器,当前的工作退出

20.删除工作目录中的数据

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值