第一步:准备MR执行的数据

我们这里通过oozie调度一个MR的程序的执行,MR的程序可以是自己写的,也可以是hadoop工程自带的,我们这里就选用hadoop工程自带的MR程序来运行wordcount的示例

准备以下数据上传到HDFS的/oozie/input路径下去

hdfs dfs -mkdir -p /oozie/input

vim wordcount.txt

hello   world   hadoopspark   hive    hadoop

将数据上传到hdfs对应目录

hdfs dfs -put wordcount.txt /oozie/input

第二步:执行官方测试案例

hadoop jar /export/servers/hadoop-2.6.0-cdh5.14.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.14.0.jar   wordcount  /oozie/input/  /oozie/output

第三步:准备调度的资源

将需要调度的资源都准备好放到一个文件夹下面去,包括jar包,job.properties,以及workflow.xml。

拷贝MR的任务模板

cd /export/servers/oozie-4.1.0-cdh5.14.0

cp -ra examples/apps/map-reduce/   oozie_works/

删掉MR任务模板lib目录下自带的jar包

cd /export/servers/oozie-4.1.0-cdh5.14.0/oozie_works/map-reduce/lib

rm -rf oozie-examples-4.1.0-cdh5.14.0.jar

第三步:拷贝的jar包到对应目录

从上一步的删除当中,可以看到需要调度的jar包存放在了

/export/servers/oozie-4.1.0-cdh5.14.0/oozie_works/map-reduce/lib这个目录下,所以我们把我们需要调度的jar包也放到这个路径下即可

cp /export/servers/hadoop-2.6.0-cdh5.14.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.14.0.jar /export/servers/oozie-4.1.0-cdh5.14.0/oozie_works/map-reduce/lib/

第四步:修改配置文件

修改job.properties

cd /export/servers/oozie-4.1.0-cdh5.14.0/oozie_works/map-reduce

vim job.properties

nameNode=hdfs://node01:8020
jobTracker=node01:8032
queueName=default
examplesRoot=oozie_worksoozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot}/map-reduce/workflow.xml
outputDir=/oozie/output
inputdir=/oozie/input

修改workflow.xml

cd /export/servers/oozie-4.1.0-cdh5.14.0/oozie_works/map-reduce

vim workflow.xml

<?xml version="1.0" encoding="UTF-8"?>
<!--Licensed to the Apache Software Foundation (ASF) under oneor more contributor license agreements.  See the NOTICE filedistributed with this work for additional informationregarding copyright ownership.  The ASF licenses this fileto you under the Apache License, Version 2.0 (the"License"); you may not use this file except in compliancewith the License.  You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.
-->
<workflow-app xmlns="uri:oozie:workflow:0.5" name="map-reduce-wf"><start to="mr-node"/><action name="mr-node"><map-reduce><job-tracker>${jobTracker}</job-tracker><name-node>${nameNode}</name-node><prepare><delete path="${nameNode}/${outputDir}"/></prepare><configuration><property><name>mapred.job.queue.name</name><value>${queueName}</value></property><!--  <property><name>mapred.mapper.class</name><value>org.apache.oozie.example.SampleMapper</value></property><property><name>mapred.reducer.class</name><value>org.apache.oozie.example.SampleReducer</value></property><property><name>mapred.map.tasks</name><value>1</value></property><property><name>mapred.input.dir</name><value>/user/${wf:user()}/${examplesRoot}/input-data/text</value></property><property><name>mapred.output.dir</name><value>/user/${wf:user()}/${examplesRoot}/output-data/${outputDir}</value></property>--><!-- 开启使用新的API来进行配置 --><property><name>mapred.mapper.new-api</name><value>true</value></property><property><name>mapred.reducer.new-api</name><value>true</value></property><!-- 指定MR的输出key的类型 --><property><name>mapreduce.job.output.key.class</name><value>org.apache.hadoop.io.Text</value></property><!-- 指定MR的输出的value的类型--><property><name>mapreduce.job.output.value.class</name><value>org.apache.hadoop.io.IntWritable</value></property><!-- 指定输入路径 --><property><name>mapred.input.dir</name><value>${nameNode}/${inputdir}</value></property><!-- 指定输出路径 --><property><name>mapred.output.dir</name><value>${nameNode}/${outputDir}</value></property><!-- 指定执行的map类 --><property><name>mapreduce.job.map.class</name><value>org.apache.hadoop.examples.WordCount$TokenizerMapper</value></property><!-- 指定执行的reduce类 --><property><name>mapreduce.job.reduce.class</name><value>org.apache.hadoop.examples.WordCount$IntSumReducer</value></property><!--  配置map task的个数 --><property><name>mapred.map.tasks</name><value>1</value></property></configuration></map-reduce><ok to="end"/><error to="fail"/></action><kill name="fail"><message>Map/Reduce failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message></kill><end name="end"/>
</workflow-app>

第五步:上传调度任务到hdfs对应目录

cd /export/servers/oozie-4.1.0-cdh5.14.0/oozie_works

hdfs dfs -put map-reduce/ /user/root/oozie_works/

第六步:执行调度任务

执行调度任务,然后通过oozie的11000端口进行查看任务结果

cd /export/servers/oozie-4.1.0-cdh5.14.0

bin/oozie job -oozie http://node03:11000/oozie -config oozie_works/map-reduce/job.properties -run

第七步:查看调度结果

使用oozie调度MR任务相关推荐

  1. CDH中hue使用oozie调度的文件注意事项

    CDH中hue使用oozie调度的文件注意事项 三个文件 job.properties 这个很重要,往往在创建得时候没有的,可以从其他地方cp也可以的 [root@hadoop001 bin]# su ...

  2. CDH中hue的oozie调度流程shell

    CDH中hue的oozie调度流程shell 1.将shell脚本上传到对应的hdfs的路径下 2.创建工作流 3.编辑工作流 4.上传脚本 5.添加文件 6.指定执行oozie的时候使用的Hadoo ...

  3. hue 用oozie调度shell(sqoop)脚本问题

    hue 用oozie调度shell(sqoop)脚本问题 真是搞了好几天 hue上的日志问题给的太有迷惑性了 问题一:用户权限问题 对应的更改文件权限就可以了 HADOOP_USER_NAME=${w ...

  4. 通过shell脚本来rerun一个oozie调度失败的job,从而可以跳过执行失败的节点

    标题很长:通过shell脚本来rerun一个oozie调度失败的job,从而可以跳过执行失败的节点 不过目前从oozie调度测试的例子来看,oozie本身的retry好像并没有参数可以控制跳过失败的节 ...

  5. oozie调度shell脚本

    oozie调度任务的一般步骤如下: 创建工作目录并复制模板 在oozie的根目录下,有已经写好的配置文件模板,job.properties和workflow.xml,我们只需要复制过来修改即可,不用从 ...

  6. 大数据工具——oozie调度

    一. 基础命令 #提交任务.-config是指定oozie任务的job.properties文件位置,submit是提交任务,每次提交任务后会把任务放到服务器并生产一个jobId,但是并不会运行这个任 ...

  7. 【构建PB级准实时分析引擎】 -- azkaban、airflow、dolphinscheduler、quartz、xxl-job 、oozie调度方案评测

    评测说明   本评测方案主要从自身实用的角度出发,对比主流的开源任务调度方案,评选出最适合自己的方案,以作为自己的调度工具. 评测目标 短期目标 可调度多台机器的shell/python脚本: 可管理 ...

  8. oozie调度中的重试和手工rerun一个workflow

    在oozie中有Bundle.Coordinator和Workflow三种类型的job,他们之间可以有以下包含关系. Bundle > Coordinator > Workflow. 1. ...

  9. CDH6.3.0 HUE 整合 Oozie调度

    由于oozie的xml配置执行各种任务调度是在太过于繁琐,所有一般都使用hue整合oozie来使用 通过hue对oozie进行配置,所以首先保证hue中 time_zone为Asia/Shanghai ...

最新文章

  1. 完善Linux/UNIX审计 将每个shell命令记入日志
  2. 移动机器人建图与导航代码实现——3.Path Tracking
  3. Leetcode 1094.拼车 差分
  4. 工作66:storage区别
  5. mongodb远程连接windows
  6. 受“社保掌上通”APP影响 麦达数字遭深交所问询
  7. 2021高值人才职业发展洞察:连接、信任与赋能----“高能”、“高薪”、“高潜”...
  8. rabbitmq的通配符模式(Topic Exchange)的*和#区别
  9. IOCP编程小结(中)
  10. (转)uml 交互视图
  11. Capture One如何创建和应用样式和预设?
  12. 编译原理-第四版-刘铭---期末复习
  13. 怎么手写 xpath
  14. 解决局域网共享文件夹要求输入用户名密码访问的问题
  15. CQ40 519TX不刷BIOS完美解决声卡问题方法
  16. C - Reverse Polish Calculator
  17. allegro 封装shape焊盘问题 Unable to load shape symbol
  18. 拉曼光谱去除荧光性 matlab,基于多项式拟合的拉曼光谱基线漂移校正方法(英文)...
  19. 网络安全笔记 -- 逻辑越权(水平垂直越权)
  20. Android 图案解锁 9宫格密码解锁

热门文章

  1. 三,游戏本地数据处理方案
  2. 数字语音处理——用sound函数播放喀秋莎(附赠歌唱动荡的青春)
  3. 云模型的matlab实现,基于云模型效能评估的Matlab实现
  4. 2016全球与中国市场伺服马达深度研究报告
  5. MLSys 2020 | FedProx:异质网络的联邦优化
  6. cad中怎么调出计算机,cad历史记录怎么调出
  7. 【转载】c++射击小游戏
  8. 城乡供水一体化管控平台-农村供水监管平台-乡村振兴
  9. java短链接_Java生成短链接
  10. 关于域名解析的问题--对话