一、 基础命令
#提交任务。-config是指定oozie任务的job.properties文件位置,submit是提交任务,每次提交任务后会把任务放到服务器并生产一个jobId,但是并不会运行这个任务
oozie job -oozie http://namenode.com:11000/oozie -config /root/test1/job.properties -submit
#执行该任务,0000000-180927111227906-oozie-oozi-W这个是jobId,每个任务的id是唯一的,这个是由提交任务之后产生的
oozie job -oozie http://namenode.com:11000/oozie -start 0000002-211008094443862-oozie-oozi-W
#运行该任务,运行=提交+执行
oozie job -oozie http://namenode.com:11000/oozie -config /root/test1/job.properties -run
# 后边加上 -D 可以代替job.properties中参数
oozie job -oozie http://namenode.com:11000/oozie -run -D oozie.use.system.libpath=true
#查看任务的信息,可以查看到每个执行项状态
oozie job -oozie http://nn.com:11000/oozie -info 0000017-211008094443862-oozie-oozi-W
#查看任务的日志,可以查看每个任务的输出内容及日志内容
oozie job -oozie http://namenode.com:11000/oozie -log 0000008-211008094443862-oozie-oozi-W
#可以查看任务的指定项的状态,比如查看action的name为process-select的执行状态
oozie job -oozie http://namenode.com:11000/oozie -info 0000023-211008094443862-oozie-oozi-C@1
#杀死任务
oozie job -oozie http://namenode.com:11000/oozie -kill 0000008-211008094443862-oozie-oozi-W
二、配置文件
配置文件只是用来讲解方便,不能直接拿来使用,官网上有打包好的任务
1.job.properties
#hsfs端口地址
nameNode=hdfs://hgdp-001:8020
#resourceManager的端口
jobTracker=hgdp-001:8032
#oozie队列
queueName=default
#输入参数
input=2017-05-09
#自定义目录
hdfspath=user/root
#自定义全局目录
examplesRoot=ocn-itv-oozie
#是否启动系统lib库
oozie.use.system.libpath=True
#参数设置
sparkopts=--executor-memory 1G
#coordinator任务开始时间
start=2017-09-04T00:05+0800
#coordinator任务结束时间
end=2017-09-04T00:36+0800
start2=2017-09-01T00:06+0800
end2=2017-09-04T00:36+0800
#用户自定义lib库(存放jar包)
oozie.libpath=${nameNode}/${hdfspath}/${examplesRoot}/lib/
workflowAppUri=${nameNode}/${hdfspath}/${examplesRoot}/wf/spark/fork/
#coordinator定时调度对应的workflow.xml所在目录
workflowAppUri2=${nameNode}/${hdfspath}/${examplesRoot}/wf/spark/single/
appPath=${nameNode}/${hdfspath}/${examplesRoot}/cd/single/
#bundle调用对应的coordinator.xml所在目录
appPath2=${nameNode}/${hdfspath}/${examplesRoot}/cd/single1/
#bundle.xml所在目录
oozie.bundle.application.path=${nameNode}/${hdfspath}/${examplesRoot}/bd/bd1/
2.coordinator.xml
<coordinator-app name="spark_hour_coordinator"
frequency="05 * * * *" <!-- 定时器,分时月日年-->
start="2022-01-07T00:00+0800" end="2022-01-08T00:00+0800" <!-- 起始时间,终止时间-->
timezone="GMT+08:00"<!-- 时差-->
xmlns="uri:oozie:coordinator:0.2">
<controls>
<timeout>60</timeout><!-- 超时时间-->
<concurrency>1</concurrency><!-- 并发任务数-->
</controls>
<datasets><!-- 主要用来配置HDFS上的数据目录和文件-->
<dataset name="InputPrefix" frequency="${coord:hours(1)}"
initial-instance="${log_start_time}" timezone="GMT+08:00">
<uri-template>${input_prefix}/${YEAR}${MONTH}${DAY}</uri-template><!-- 传参形式表示,可以写绝对路径-->
<done-flag></done-flag>
</dataset>
<dataset name="OutputPrefix" frequency="${coord:hours(1)}"
initial-instance="${log_start_time}" timezone=<