首页 > 系统服务 > 详细

Oozie-自定义实现WorkFlow中shell action

时间:2017-05-03 23:34:13      阅读:315      评论:0      收藏:0      [点我收藏+]
    1. 拷贝默认的shell目录来进行修改
      $ cp -r ./examples/apps/shell/ my-apps/
    2. 定义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
    3. 定义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>
    4. 定义要实现的脚本
      技术分享
      19.png
    5. 上传到hdfs后运行
      技术分享
      20.png
    6. 查看运行结果
      技术分享
      21.png

      技术分享
      22.png

Oozie-自定义实现WorkFlow中shell action

原文:http://www.cnblogs.com/ilinuxer/p/6804402.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!