1.執行MR的命令: hadoop jar <jar在linux的路徑> <main方法所在的類的全類名> <參數> 例子: hadoop jar /root/wc1.jar cn.itcast.d3.hadoop.mr.WordCount hdfs://itcast:9000/words /out ...
1.執行MR的命令:
hadoop jar <jar在linux的路徑> <main方法所在的類的全類名> <參數>
例子:
hadoop jar /root/wc1.jar cn.itcast.d3.hadoop.mr.WordCount hdfs://itcast:9000/words /out2
2.MR執行流程
(1).客戶端提交一個mr的jar包給JobClient(提交方式:hadoop jar ...)
(2).JobClient通過RPC和JobTracker進行通信,返回一個存放jar包的地址(HDFS)和jobId
(3).client將jar包寫入到HDFS當中(path = hdfs上的地址 + jobId)
(4).開始提交任務(任務的描述信息,不是jar, 包括jobid,jar存放的位置,配置信息等等)
(5).JobTracker進行初始化任務
(6).讀取HDFS上的要處理的文件,開始計算輸入分片,每一個分片對應一個MapperTask
(7).TaskTracker通過心跳機制領取任務(任務的描述信息)
(8).下載所需的jar,配置文件等
(9).TaskTracker啟動一個java child子進程,用來執行具體的任務(MapperTask或ReducerTask)
(10).將結果寫入到HDFS當中