Oozie
Oozie在hadoop生态圈中把多个Map/Reduce作业组合到一个逻辑工作单元中,从而完成更大的任务。是一种Java Web应用程序,它运行在Java servlet容器。
功能
主要用于管理与组织Hadoop工作流。Oozie的工作流必须是一个有向无环图,实际上Oozie就相当于Hadoop的一个客户端,当用户需要执行多个关联的MR任务时,只需要将MR执行顺序写入workflow.xml,然后使用Oozie提交本次任务,Oozie会托管此任务流。
工作流
Oozie 运行作为集群服务,客户端提交的工作流定义:立即或以后处理。
Oozie 工作流由动作节点和控制流的节点组成。
一个操作节点代表一个工作流任务,例如,移动文件到HDFS,运行 MapReduce,Pig 或 Hive 作业,使用 Sqoop 导入数据或 运行Java 编写程序的 shell 脚本。
一个控制流节点通过允许像条件逻辑结构,不同的分支可以根据较早动作节点的结果,随后执行动作工作流程。
开始节点,终端节点和错误节点属于这一类节点。
开始节点, 指定的工作流程作业的开始。
结束节点, 作业的结束信号。
错误节点, 指定要打印错误和相应的错误信息的发生。
在执行工作流的结束, HTTP 回调用于通过 Oozie 更新客户端与工作流状态。入门或出口,从动作节点还可能会触发回调。
转载自:https://www.yiibai.com/hadoop/oozie-in-5-minutes.html