java调用oozie接口_oozie调用java实例------shell action

本文详细介绍了如何通过Oozie的Shell Action来调用Java程序。内容包括Java调用的命令格式,shell action的语法结构,如job-tracker、name-node等必填项,以及prepare、job-xml、configuration等配置。同时提供了workflow.xml、job.properties文件的示例,以及执行Oozie任务的命令,展示了完整的调用流程。
摘要由CSDN通过智能技术生成

Oozie提供了一个方便的方式来运行任何命令。这可能是Unix命令,Perl或Python脚本,甚至java程序都可以通过Unix shell调用。shell命令运行在任意的Hadoop集群节点上,并且运行在结点上的命令必须保证可在本地可用。

本地提交:

格式:java   -cp   全类名(包名.类名)   -jar   jar包名字

实例如下:

java -cp test1.OzzieTest1 -jar test.jar

运行结果:

3ca3a33997047dd4018af4e264ab81d2.png

shell action 语法:

...

[JOB-TRACKER]

[NAME-NODE]

......

[SHELL SETTINGS FILE]

[PROPERTY-NAME]

[PROPERTY-VALUE]

...

[SHELL-COMMAND]

[ARG-VALUE]...[ARG-VALUE]

[VAR1=VALUE1]...[VARN=VALUEN]

[FILE-PATH]...[FILE-PATH]...

...

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目录中

${jobTracker}

${nameNode}

mapred.job.queue.name

${queueName}

java

-cp

test1.OzzieTest1

-jar

test.jar

Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]

2. job.properties  ---放本地即可

nameNode=hdfs://hgdp-001:8020

jobTracker=hgdp-001:8032queueName=defaulthdfspath=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

运行结果如下图所示:

065375c2a59f6626f5faaf2374d575b9.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值