Hadoop的MapReduce执行过程

来源:互联网 发布:淘宝装修收藏店铺 编辑:程序博客网 时间:2024/04/29 16:26
执行MapReduce的命令hadoop jar <jar在linux的路径> <main方法所在的类的全类名> <参数>例子:hadoop jar /root/wc1.jar cn.itcast.d3.hadoop.mr.WordCount hdfs://yzy:9000/animals/result

MR执行流程

这里写图片描述

  1. 客户端提交一个mr的jar包给JobClient(提交方式:hadoop jar … 也就是执行jar里面的main方法)
  2. JobClient通过RPC和JobTracker(RM)进行通信,返回一个存放jar包的地址(HDFS)和jobId
  3. client将jar包写入到HDFS当中(path = hdfs上的地址 + jobId)
  4. 开始提交任务(任务的描述信息,不是jar, 包括jobid,jar存放的位置,配置信息等等)
  5. JobTracker进行初始化任务
  6. 读取HDFS上的要处理的文件,开始计算输入分片,每一个分片对应一个MapperTask
  7. TaskTracker(NM)通过心跳机制领取任务(任务的描述信息)
  8. NM去HDFS下载所需的jar,配置文件等
  9. TaskTracker启动一个java child子进程,用来执行具体的任务(MapperTask或ReducerTask)
  10. 将结果写入到HDFS当中
0 0
原创粉丝点击