Yarn调度MapReduce

当我们执行这条命令时:hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /input /output

hadoop为我们做了那些事情?

Yarn调度MapReduce程序的过程

yarn调度流程:

client端会调用resourcemanager,申请执行一个job

resourcemanager会给客户端返回一个hdfs的目录以及一个application_id号。

client端会将切片信息、job的配置信息以及jar包上传到上一步收到的hdfs目录下(三个文件分别是:job.split、job.xml、jar包)

client请求resourcemanager启动mrappmaster

resourcemanager将client请求初始化成一个task任务,放到执行队列里面(默认FIFO),当执行到这个task的时候会给该job分配资源。

resourcemanager会找空闲的nodemanager创建一个container容器,并启动mrappmaster

当mrappmaster启动之后会先将client提交hdfs的资源(job.split、job.xml、jar包)下载到本地

mrappmaster根据资源信息的情况请求resourcemanager启动maptask

resourcemanager会为上面的请求找空闲的nodemanager并创建maptask的container

mrappmaster将资源发送给各个nodemanager并且启动上面相应的maptask程序,监控maptask的运行情况(如果maptask挂掉之后,由mrappmaster去处理)。

当maptask执行完成后,mrappmaster又会向resourcemanager申请reducetask的资源

resourcemanager又会为上面的请求找空闲的nodemanager并创建reducetask的container

mrappmaster然后又启动reducetask任务,并且监控reducetask任务的执行状况。

直到mapreduce的程序执行完成

整个job运行完毕后,mrAppMaster会向RM注销自己

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容