oozie调用java实例------shell action
Oozie提供了一个方便的方式来运行任何命令。这可能是Unix命令,Perl或Python脚本,甚至java程序都可以通过Unix shell调用。shell命令运行在任意的Hadoop集群节点上,并且运行在结点上的命令必须保证可在本地可用。
本地提交:
格式:java -cp 全类名(包名.类名) -jar jar包名字
实例如下:
java -cp test1.OzzieTest1 -jar test.jar
运行结果:
shell action 语法:
<workflow-app name="[WF-DEF-NAME]" xmlns="uri:oozie:workflow:0.3">
...
<action name="[NODE-NAME]">
<shell xmlns="uri:oozie:shell-action:0.1">
<job-tracker>[JOB-TRACKER]</job-tracker>
<name-node>[NAME-NODE]</name-node>
<prepare>
<delete path="[PATH]"/>
...
<mkdir path="[PATH]"/>
...
</prepare>
<job-xml>[SHELL SETTINGS FILE]</job-xml>
<configuration>
<property>
<name>[PROPERTY-NAME]</name>
<value>[PROPERTY-VALUE]</value>
</property>
...
</configuration>
<exec>[SHELL-COMMAND]</exec>
<argument>[ARG-VALUE]</argument>
...
<argument>[ARG-VALUE]</argument>
<env-var>[VAR1=VALUE1]</env-var>
...
<env-var>[VARN=VALUEN]</env-var>
<file>[FILE-PATH]</file>
...
<archive>[FILE-PATH]</archive>
...
<capture-output/>
</shell>
<ok to="[NODE-NAME]"/>
<error to="[NODE-NAME]"/>
</action>
...
</workflow-app>
shell action的组成元素如下所示:
• job-tracker (required)
• name-node (required)
• prepare ---执行删除文件或者创建目录的操作
• job-xml ---指定一个存在的配置文件
• configuration ---将里面配置的参数传递给任务
• exec (required) ---要执行的shell命令
• argument ---元素指定要传递给shell脚本的参数
• env-var ---传递给shell命令的环境变量
• file
• archive
• capture-outpu ---可以捕获输出
若想调用java类有三个是必需的:1.workflow.xml(名字不可改) 2.job.properties(名字可改) 3.jar包
示例如下:
1.workflow.xml---放到hdfs目录中
<workflow-app name="workflow-java-shell" xmlns="uri:oozie:workflow:0.5">
<start to="java-4f48"/>
<action name="java-4f48">
<shell xmlns="uri:oozie:shell-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>${queueName}</value>
</property>
</configuration>
<exec>java</exec>
<argument>-cp</argument>
<argument>test1.OzzieTest1</argument>
<argument>-jar</argument>
<argument>test.jar</argument>
</shell>
<ok to="End"/>
<error to="Kill"/>
</action>
<kill name="Kill">
<message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<end name="End"/>
</workflow-app>
2. job.properties ---放本地即可
nameNode=hdfs://hgdp-001:8020
jobTracker=hgdp-001:8032
queueName=default
hdfspath=user/root
examplesRoot=ocn-itv-oozie
oozie.use.system.libpath=True
oozie.libpath=${nameNode}/${hdfspath}/${examplesRoot}/lib/
oozie.wf.application.path=${nameNode}/${hdfspath}/${examplesRoot}/wf/wf5/
3.oozie运行:
启动任务:oozie job -config job.properties -run -oozie http://xxxx(地址):11000/oozie
运行结果如下图所示:

oozie调用java实例------shell action的更多相关文章
- oozie调用java实例------Java action
Oozie支持Java action ,Java action 会自动执行workflow任务中制定的java类中的 public static void main(String[] args)方法, ...
- Oozie调用Spark实例
oozie调用spark有三样是必须有的: workflow.xml(不可改名) , job.properties(可改名) , jar包(自备). 1.workflow.xml workflow.x ...
- oozie 完整流程实例
Oozie概述: Oozie是一个基于Hadoop工作流引擎,也可以称为调度器,它以xml的形式写调度流程,可以调度mr,pig,hive,shell,jar,spark等等.在实际工作中,遇到对数据 ...
- Linux(centos 6.5) 调用java脚本以及定时运行的脚本实例及配置文件具体解释
Linux(centos 6.5) 调用java脚本以及定时运行的脚本实例 一.调用java程序脚本(默认已经搭建好了Java环境) 1.jdk 安装路径 /usr/jdk/jdk1.7/-- 2.j ...
- Flink整合oozie shell Action 提交任务 带kerberos认证
最近这段时间一直在忙新集群迁移,上了最新的cdh6.3.0 于是Flink 提交遇到了许多的问题 还好有cloudera License 有了原厂的帮助和社区的伙伴,问题解决起来快了不少,手动滑稽 集 ...
- oozie调用shell
<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agree ...
- 转载 基于JAVA每月运势api调用代码实例
代码描述:基于JAVA每月运势api调用代码实例 接口地址:http://www.juhe.cn/docs/api/id/58 原文链接:http://outofmemory.cn/code-snip ...
- C#调用Java方法(详细实例)
C#可以直接引用C++的DLL和转换JAVA写好的程序.最近由于工作原因接触这方面比较多,根据实际需求,我们通过一个具体例子把一个JAVA方法转换成可以由C#直接调用的DLL C#调用c++ C#调用 ...
- PHP调用JAVA的WebService简单实例
使用PHP调用JAVA语言开发的WebService.客户端提交两个String类型的参数,服务端返回一个对象类型.服务端使用AXIS-1.4作为SOAP引擎.客户端为PHP5.2.9,使用NuSOA ...
随机推荐
- 【记录】dvwa总结
一.Brute Force 选择集束炸弹 设置payload stack attck 防御:密码加密,使用验证码,使用统一的参数代替帐号和密码. 二.Command Injection |,||,&a ...
- SQL语句练习45题(从第11题开始)
CREATE TABLE student (sno VARCHAR(3) NOT NULL, sname VARCHAR(4) NOT NULL, ssex VARCHAR(2) NOT NULL, ...
- 6.centos7 gitblit
1,安装注意事项 1)必须将gitblit安装在/opt/gitblit这个目录下,因为 服务启动的脚本里面默认就是这个路径 如果不按照这个路径安装需要修改脚本 mkdir -p /opt/gitbl ...
- TCP/IP协议分为哪四层,具体作用是什么。
TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求.这4层分别为: 应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP).文件传输协议(FTP).网络远 ...
- MySQL Flashback 闪回功能详解
1. 简介 mysqlbinlog flashback(闪回)用于快速恢复由于误操作丢失的数据.在DBA误操作时,可以把数据库恢复到以前某个时间点(或者说某个binlog的某个pos).比如忘了带wh ...
- mysql 配置文件详解
mysql配置文件参数详解 (一) [client]port = 3306socket = /tmp/mysql.sock [mysqld]port = 3306socket = /tmp/mysql ...
- AWS Intro - Static IP with ssh
Notes: Please config static ip when launch instance. Because change dynamic public ip to static ip, ...
- linux命令行下的操作的快捷键
历史相关命令 命令 含义!! 执行上一条命令!num 执行历史命令中的第num条命令!-n ...
- TOJ 3635 过山车
Description RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了.可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找 个个男生做partne ...
- unity摄像机脚本
直接挂载在摄像机上面即可 1.摄像机自由平移 using UnityEngine; using System.Collections; /// <summary> /// 摄像机视角自由移 ...