1、解压官方案例模板
[victor@hadoop102 oozie-4.0.0-cdh5.3.6]$ tar -xzvf oozie-examples.tar.gz -C ./
2、创建工作目录
[victor@hadoop102 oozie-4.0.0-cdh5.3.6]$ mkdir oozie-apps/
3、拷贝任务模板到oozie-apps/目录
[victor@hadoop102 oozie-4.0.0-cdh5.3.6]$ cp -r examples/apps/shell/ oozie-apps/
4、随意编写一个脚本p1.sh
[victor@hadoop102 oozie-4.0.0-cdh5.3.6]$ where ifconfig
[victor@hadoop102 oozie-4.0.0-cdh5.3.6]$ vim oozie-apps/shell/p1.sh
##内容如下
#!/bin/bash
/sbin/ifconfig > /tmp/p1.log
[victor@hadoop102 oozie-4.0.0-cdh5.3.6]$ chmod 755 oozie-apps/shell/p1.sh
5、修改job.properties和workflow.xml文件
job.properties
[victor@hadoop102 oozie-4.0.0-cdh5.3.6]$ vim oozie-apps/shell/job.properties
#HDFS地址,端口8020或者9000,主要看自己的设置
nameNode=hdfs://hadoop102:9000
#ResourceManager地址, 8032默认端口不用改
jobTracker=hadoop103:8032
#队列名称
queueName=default
examplesRoot=oozie-apps
##hdfs://hadoop102:9000/user/victor/oozie-apps/shell
oozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot}/shell
EXEC=p1.sh
workflow.xml
[victor@hadoop102 oozie-4.0.0-cdh5.3.6]$ vim oozie-apps/shell/workflow.xml
<workflow-app xmlns="uri:oozie:workflow:0.4" name="shell-wf">
<start to="shell-node" />
<action name="shell-node">
<shell xmlns="uri:oozie:shell-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>${queueName}</value>
</property>
</configuration>
<exec>${EXEC}</exec>
<!-- <argument>my_output=Hello Oozie</argument> -->
<file>/user/victor/oozie-apps/shell/${EXEC}#${EXEC}</file>
<capture-output />
</shell>
<ok to="end" />
<error to="fail" />
</action>
<decision name="check-output">
<switch>
<case to="end">
${wf:actionData('shell-node')['my_output'] eq 'Hello Oozie'}
</case>
<default to="fail-output" />
</switch>
</decision>
<kill name="fail">
<message>Shell action failed, error
message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<kill name="fail-output">
<message>Incorrect output, expected [Hello Oozie] but was
[${wf:actionData('shell-node')['my_output']}]</message>
</kill>
<end name="end" />
</workflow-app>
6、上传任务配置
[victor@hadoop102 oozie-4.0.0-cdh5.3.6]$ hdfs dfs -put oozie-apps/ /user/victor
7、执行任务
[victor@hadoop102 oozie-4.0.0-cdh5.3.6]$ bin/oozie job \
-oozie http://hadoop102:11000/oozie \
-config oozie-apps/shell/job.properties \
-run
8、杀死某个任务
[victor@hadoop102 oozie-4.0.0-cdh5.3.6]$ bin/oozie job \
-oozie http://hadoop102:11000/oozie \
-kill 0000004-170425105153692-oozie-z-W
oozie 有时候因为err,你给它kill 掉, oozie 的web还显示,这是一个oozie 的bug,不要紧,放着就行了, 强迫症的怎么办呢?? 去mysql oozie库 相应表把相应数据删除了就行了
9、注意事项
编辑文件时,使用vim编辑器,注意执行权限