A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 不二晨 金牌黑马   /  2018-12-10 10:32  /  1139 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

执行MapReduce的命令hadoop jar <jar在linux的路径> <main方法所在的类的全类名> <参数>例子:hadoop jar /root/wc1.jar cn.itcast.d3.hadoop.mr.WordCount hdfs://yzy:9000/animals/result
MR执行流程
  • 客户端提交一个mr的jar包给JobClient(提交方式:hadoop jar … 也就是执行jar里面的main方法)
  • JobClient通过RPC和JobTracker(RM)进行通信,返回一个存放jar包的地址(HDFS)和jobId
  • client将jar包写入到HDFS当中(path = hdfs上的地址 + jobId)
  • 开始提交任务(任务的描述信息,不是jar, 包括jobid,jar存放的位置,配置信息等等)
  • JobTracker进行初始化任务
  • 读取HDFS上的要处理的文件,开始计算输入分片,每一个分片对应一个MapperTask
  • TaskTracker(NM)通过心跳机制领取任务(任务的描述信息)
  • NM去HDFS下载所需的jar,配置文件等
  • TaskTracker启动一个java child子进程,用来执行具体的任务(MapperTask或ReducerTask)
  • 将结果写入到HDFS当中


【转载】仅作分享,侵删
链接:https://juejin.im/entry/58ccb3438ac2477b984ccbae

3 个回复

倒序浏览
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马