Mapreduce&yarn工作机制

来源:互联网 发布:聂风入魔知乎 编辑:程序博客网 时间:2024/06/05 20:26

相关文章:

《mapreduce切片机制》

Mapreduce&yarn工作机制:

Mapreduce程序运行过程是这样的:程序通过job.submit()提交后,通过YARNRunner中动态代理(proxy)远程调用,跟yarn resourcemanager通信,获得一个资源提交路径和jobid,然后客户端mapreduce程序通过HDFS获得文件的信息(文件大小),根据文件大小和用户设置的minsizemaxsize参数,对文件进行切片规划,并最终形成job.split文件提交到提交路径上去,此外还会将程序运行的jar包和job参数形成job.xml提交到提交路径上。最后向resourcemanager发送提交完毕的信息,并且申请运行appmaster


Resourcemanager将用户的请求初始化成一个task,放到调度队列里面。Nodemanager按一定心跳频率,访问队列查看是否有自己的任务,其实这里也是RPC调用,通过调用返回的值,来确定有没有自己的任务,有就领取任务。


nodamanager根据任务参数,构造出具体cpu和内存的container,用来运行appmaster,同时将提交路径上的job.xml\job.split\....jar,下载到本地,appmaster根据切片信息,判断出每个切片所在的datanode,然后再向resourcemanager申请运行maskTaskresourcemanager将他加入到调度队列中,等待nodemanager来领取任务。剩下的过程和前面类似。

具体mapreduce运行流程请看:

《Mapreduce运行全流程》

注:他们之间的通信时通过RPC调用实现的。

 

最后配张流程图:


原创粉丝点击