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
今日推荐
周排行