oozie是针对hadoop的任务调度框架,因为spark on yarn的模式是基于hadoop的任务调度模块yarn来做的,所以spark on yarn模式可以利用oozie的定时模块和任务依赖调度模块,实现按时按步骤的执行spark的job,下面就简单介绍一下刚使用oozie时容易忽略和比较重要的地方。
最简单来讲,一个简单依赖关系的ooziejob,需要一个提交到hdfs上的xml用来解析properties文件,一个properties对应一个oozie的job,一个jar包用来执行任务。
定时任务则额外需要一个xml用来指定定时规则。
下面就以最简配置举一个简单的spark定时任务和依赖例子
workflow.xml
"> <start to="spark-SparkOozieAction1"/>
<kill name="Kill">
<message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<action name="spark-SparkOozieAction1">
<spark xmlns="uri:oozie:spark-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<master>${jobmaster}</master>
<mode>${jobmode}</mode>
<name>${jobname1}</name>
<class>${jarclass1}</class>
<jar>${jarpath1}</jar>
<