- e.WordCount.Reduce</value>
- </property>
- <property>
- <name>mapred.input.dir</name>
- <value>${inputDir}</value>
- </property>
- <property>
- <name>mapred.output.dir</name>
- <value>${outputDir}</value>
- </property>
- </configuration>
- </map-reduce>
- <ok to='end'/>
- <error to='end'/>
- </action>
- <kill name='kill'>
- <message>Something went wrong: ${wf:errorCode('wordcount')}</message>
- </kill/>
- <end name='end'/>
- </workflow-app>
配置打包后通过OozieClient提交给Hadoop就直接可以运行了
任务种类Oozie任务分为三种模式:
- workflow – 这种方式最简单,就是定义DAG来执行。
- coordinator – 它构建在workflow工作方式之上,提供定时运行和触发运行任务的功能。
- bundle – bundle的作用就是将多个coordinator管理起来。这样我们只需要提供一个bundle提交即可。然后可以start/stop/suspend/resume任何coordinator。
Shell Action如果想通过Oozie调度远程服务器上的命令,可以通过ssh action来执行任意的shell命令。用户必须明确的上传所需要的第三方库。Oozie通过Hadoop的分布式缓冲来上传、打标签、使用。
Shell命令会在任意一个hadoop计算节点上运行,但是计算节点上默认安装的工具集可能会不一样。不过在所有的计算节点上,通常都装有大部分普通的unix工具。因此需要明确的很重要的一点是:Oozie只支持有被安装到计算节点上的命令或者通过分布式缓存上传的命令。也就是说,我们必须通过file上传我们要用到的文件。
http://www.aboutyun.com/forum.php?highlight=Oozie&mod=viewthread&tid=7288