Oozie-自定义实现WorkFlow中shell action

    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

时间: 2024-10-04 00:04:12

Oozie-自定义实现WorkFlow中shell action的相关文章

MVC中使用Action全局过滤器出现:网页无法正常运作 将您重定向的次数过多。解决办法

前言当我们访问某个网站的时候需要检测用户是否已经登录(通过Session是否为null),我们知道在WebForm中可以定义一个BasePage类让他继承System.Web.UI.Page,重写它的OnInit()方法,在OnInit()中判断Session中是否有用户登录的信息. /// <summary> /// 公共基类里面干一些公共的事情 /// </summary> public class BasePage : System.Web.UI.Page { //页面生命周

HDP 2.2.4 Hue Oozie Editor生成workflow.xml的几点问题

本文原文出处: http://blog.csdn.net/bluishglc/article/details/45888279 严禁任何形式的转载,否则将委托CSDN官方维护权益! 如果你想让你手写的workflow.xml成功的倒入到Hue的Oozie Designer里,你需要注意如下几点: 关于chema的版本:oozie最高只能是0.4,hive-action最高只能是0.2, istcp-action最高只能是0.1!! 对于jobTracker和nameNode属性,hue的oozi

iOS Workflow 分享 - Debug Action

有时候我们想要知道别人的 app 在调用 Share Extension 时提供了什么类型的数据以及具体数据是什么,我们可以自己在 Xcode 里面写个 app 去接收别人 app 的数据,但我们也可以用 Workflow 内置的「View Content Graph」来展示数据.相对于自己写个 app 而言,显然是免费的 Workflow 要简单得多. 如果你还没有安装 Workflow,你可以先去免费下载安装上.然后打开 Debug Action 并点击「GET WORKFLOW」,这个 W

linux中shell变量$#,[email&#160;protected],$0,$1,$2的含义解释

摘抄自:ABS_GUIDE 下载地址:http://www.tldp.org/LDP/abs/abs-guide.pdf linux中shell变量$#,[email protected],$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 $* 所有参数列表.如"$*"用「"」括起来的情况.以&qu

Cocos2d-x 3.0final 终结者系列教程10-绘图节点Node中的Action

Action是作用在Node上的逻辑处理,比如让Node移动.旋转.缩放.变色.跳跃.翻转.透明等等,都有相对应的Action Action如何在Node上使用 1.定义Action对象 如 auto act=MoveTo::create(Point(30,0),1); 2.在Node上执行runAction auto sp=Sprite::create("npc.png"); sp->runAction(act); 这样就实现了在sp这个Node上执行移动到30,0这个坐标的动

struts2中的action标签

struts2中的action标签用于在JSP页面中直接调用一个Action,通过指定executeResult参数,还可以将该Action的处理结果包含到本页面中来. 使用action标签可以允许JSP页面直接调用Action,因为需要调用Action,故可以指定需要被调用的Action的name以及namespace.如果指定了executeResult参数的值为true,该标签还会把Action中处理的结果包含到本页面中来.使用action标签有如下的几个属性: id:          

POSIX中shell下的eval

在posix中shell环境下eval是用来取出字符串当参数选项来用的,效果和"`"是一样的,这在平时写大量引用比较复杂的脚本时十分有用.简单的用bash来说,平时使用的指令都是被分割成token来处理,那么如果是通过管道(|)或者是大量引用的时候,往往因为冗余的指令导致参数展开错误,那么就需要使用到eval,这里举一个简单的例子: #!/bin/bash args="ls -al" echo "args is :$args" eval $arg

action中redirectAction到另一个命名空间中的action该如何配置

action中redirectAction到另一个命名空间中的action该如何配置,请注意namespace这儿必须是/global,而不是global,要不然找不到此action的

AndroidManifest.xml中的action和category

当Intent在组件间传递时,组件如果想告知Android系统自己能够响应和处理哪些Intent,那么就需要用到IntentFilter对象. IntentFilter对象负责过滤掉组件无法响应和处理的Intent,只将自己关心的Intent接收进来进行处理. IntentFilter实行"白名单"管理,即只列出组件乐意接受的Intent,但IntentFilter只会过滤隐式Intent,显式的Intent会直接传送到目标组件. Android组件可以有一个或多个IntentFilt