oozie-深入探讨工作流


一个工作流应用主要是靠DAG来协调actions,如M/R、Pig、子工作流等;

流程控制,是通过decision、fork 和 join来控制的,循环工作流目前Oozie还不支持;

Actions 和 decisions 可以通过任务的属性文件来传递参数,如actions 输入/输出.通过${VARS}来访问属性文件定义的参数;

一个工作流应用是一个ZIP格式的文件,ZIP文件中包含了工作流定义(XML 文件)、Jars、等应用要用到的资源;

要运行工作流任务,通过oozie命令来提交任务;

监控工作流运行情况,可以通过WEB Console、命令行工具、及WebService API 或Java API;

当提交M/R,JobConf类用到的配置参数,都需要在工作流中定义,在配置中要指定mapper,reducer(combiner),output key , output value 等hadoop 配置文件属性;

工作流的状态包括: PREP , RUNNING , SUSPENDED , SUCCEEDED , KILLED and FAILED ;

如果action启动失败,Oozie会根据失败类型进行重试;

Oozie可以支持HTTP 回掉通知,在action开始/结束/失败事件及工作流结束/失败事件;

如果工作流任务失败,工作流任务会重新提交,会跳过已经完成的actions。重新提交工作流时,开发者可以更新补丁;

猜你喜欢

转载自marsorp.iteye.com/blog/1532941