oozie4.1.x 执行MapReduce 作者:马育民 • 2020-11-19 07:44 • 阅读:10178 # 创建目录 在 `/program/oozie-4.1.0-cdh5.14.0/oozie_apps/` 创建 `std2_mr`,用于存放相关文件 ``` cd /program/oozie-4.1.0-cdh5.14.0/oozie_apps ``` ``` mkdir std2_mr ``` 在 `std2_mr` 目录下创建 `lib`文件夹,存放 mr jar包 ``` cd std2_mr ``` ``` mkdir lib ``` # 上传 mr jar 将 mr jar包上传到 `lib` 目录 ### 验证 mr 程序可用 验证 mr 程序可用,输入路径、输出路径确实可用 ``` hadoop jar chongdianzhuang-0.0.1-SNAPSHOT.jar chongdianzhuang.Main2 /chongdianzhuang/chongdianzhuang.txt /cdz_res/1 ``` # 编写 job.properties ``` nameNode=hdfs://hadoop1:8020 jobTracker=hadoop2:8032 queueName=default examplesRoot=oozie_apps oozie.wf.application.path=${nameNode}/${examplesRoot}/std2_mr/workflow.xml inputDir=/chongdianzhuang/chongdianzhuang.txt outputDir=/cdz_res/1 ``` # 编写 workflow.xml ``` ${jobTracker} ${nameNode} mapred.job.queue.name ${queueName} mapred.mapper.new-api true mapred.reducer.new-api true mapreduce.job.output.key.class org.apache.hadoop.io.Text mapreduce.job.output.value.class chongdianzhuang.Cdz mapred.input.dir ${nameNode}/${inputDir} mapred.output.dir ${nameNode}/${outputDir} mapreduce.job.map.class chongdianzhuang.MyMapper mapreduce.job.reduce.class chongdianzhuang.MyReducer mapred.map.tasks 1 Map/Reduce failed, error message[${wf:errorMessage(wf:lastErrorNode())}] ``` # 上传到 hdfs ``` cd /program/oozie-4.1.0-cdh5.14.0/ ``` ``` hadoop fs -put oozie_apps/std2_mr /oozie_apps ``` **job.properties 可以不上传到 HDFS** ### 重新上传 重新上传需要先删除 hdfs 的相关文件夹 ``` hadoop fs -rm -r /oozie_apps/std2_mr ``` # 执行 ``` cd /program/oozie-4.1.0-cdh5.14.0 ``` ``` bin/oozie job -oozie http://hadoop3:11000/oozie -config oozie_apps/std2_mr/job.properties -run ``` **解释:** - `http://hadoop3:11000/oozie`:oozie server的url - `oozie_apps/std2_mr/job.properties`:本机 `job.properties` 所在的路径 写绝对路径也可以: `/program/oozie-4.1.0-cdh5.14.0/oozie_apps/std2_mr/job.properties` # 在 oozie web查看 访问 http://hadoop3:11000 [![](http://65242847.gitee.io/pic/oozie/Snipaste_2021-11-19_00-22-54.png)](http://65242847.gitee.io/pic/oozie/Snipaste_2021-11-19_00-22-54.png) # 在 yarn 查看结果 访问:http://hadoop2:8088/ [![](http://65242847.gitee.io/pic/oozie/Snipaste_2021-11-19_00-12-35.png)](http://65242847.gitee.io/pic/oozie/Snipaste_2021-11-19_00-12-35.png) **注意:** 执行 2 次 MapReduce 程序,第一个是 oozie 的 mr 程序,第二个是我们的 mr 程序 # 在 hdfs 查看生成的文件 访问 http://hadoop1:9870/explorer.html#/cdz_res 原文出处:http://malaoshi.top/show_1IX2G0TmE0P5.html