hadoop2任务提交过程

1.在hadoop任意节点上通过 bin/hadoop jar命令开始任务;RunJar进程启动,相当于一个客户端client,计算输入分片。RunJar内置有一个Cluster对象,通它过可以向ResourceManager进行rpc通信;

2、客户端向ResourceManager申请作业ID,并且把作业资源文件包括MapReduce程序打包的jar文件、配置信息和客户端计算的输入划分信息存入共享文件系统(如hdfs);作业ID可以让作业加入队列,输入划分信息决定了ResourceManager为该作业启动多少个map任务等信息。

3.ResourceManager启动appMaster(一个java应用程序,主类是MRAppMaster),对作业进行初始化,接收来自共享系统(HDFS)的在客户端计算好的输入分片。每一个分片创建一个map任务,以及由客户端指定的或配置文件指定的默认的reduce的任务对象。

4.appMaster根据客户端计算好的数据分片信息划分map任务或者reduce任务,向resourceManager请求计算资源,包括cpu核数、内存资源等待以启动container。默认情况下,appMaster会根据分片信息,尽量把map任务分配在数据所在的本地节点上。

5.container启动后,首先将任务所需要的资源本地化,即接受共享文件系统中存储的作业的配置,jar文件等等,运行map或者reduce任务。

6.appMaster每隔一定时间接收任务的实时状态和进度,客户端每秒钟查询一次appMaster的任务状态。

7.作业完成后,appMaster和任务容器清理器工作状态。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值