Oozie-自定义实现WorkFlow中shell action
Posted ilinux_one
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oozie-自定义实现WorkFlow中shell action相关的知识,希望对你有一定的参考价值。
- 拷贝默认的shell目录来进行修改
$ cp -r ./examples/apps/shell/ my-apps/
- 定义job.properties
nameNode=hdfs://bigdata-00:8020 jobTracker=bigdata-00:8032 queueName=default examplesRoot=user/wulei/my-apps/shell #定义workflow.xml路劲 oozie.wf.application.path=${nameNode}/${examplesRoot}/workflow.xml #定义一个变量名存储shell文件名 EXEC=oozie.sh
- 定义workflow.properties
<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> <!-- 定义shell脚本路劲 --> <file>${nameNode}/${examplesRoot}/${EXEC}#${EXEC}</file> <!--Copy the executable to compute node‘s current working directory --> </shell> <ok to="end"/> <error to="fail"/> </action> <kill name="fail"> <message>Shell action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message> </kill> <end name="end"/> </workflow-app>
- 定义要实现的脚本
- 上传到hdfs后运行
- 查看运行结果
以上是关于Oozie-自定义实现WorkFlow中shell action的主要内容,如果未能解决你的问题,请参考以下文章
OOZIE:在 global job-xml 中引用的文件中定义的属性在 workflow.xml 中不可见
Oozie coordinator 作业自定义的配置的一些方法
sqoop 作业 shell 脚本在 oozie 中并行执行