http://oozie.apache.org
https://github.com/apache/oozie
与Hadoop有关的Apache Oozie Workflow Scheduler是一个管理Apache Hadoop作业(jobs)的工作流和协调服务:
- Oozie Workflow作业是动作(action)的有向无周期图(DAGs, Directed Acyclical Graphs);action通常是Hadoop作业(MapReduce、Streaming、Pipes、Pig、Hive、Sqoop等)。
- Oozie Coordinator 作业根据时间(频率)和数据可用性触发周期性的工作流作业。
- Oozie Bundle 作业是作为单个作业管理的协调器作业集。
Oozie是一种可扩展的(extensible)、可伸缩的(scalable)、支持数据(data-aware)的服务,您可以使用它来编排运行在Hadoop上的作业之间的依赖关系。
Oozie由Cloudera公司贡献给Apache的基于工作流引擎的开源框架,是用于Hadoop平台的开源的工作流调度引擎,是用来管理Hadoop作业,属于web应用程序,由Oozie client和Oozie Server两个组件构成,Oozie Server运行于Java Servlet容器(Tomcat)中的web程序。
文档v4.0.0
http://oozie.apache.org/docs/4.0.0/index.html
Oozie v3是一个基于服务器的捆绑包引擎(Bundle Engine),它提供了一个更高级别的Oozie抽象,可以批量处理一组协调器应用程序。用户将能够在绑定包级别启动/停止/挂起/恢复/重新运行a set coordinator作业,从而实现更好、更容易的操作控制。
Oozie v2是一个基于服务器的协调引擎(Coordinator Engine),专门运行基于时间和数据触发器的工作流。它可以根据时间(例如每小时运行一次)和数据可用性(例如,在运行工作流之前等待输入数据的存在)持续运行工作流。
Oozie v1是一个基于服务器的工作流引擎(Workflow Engine),专门运行带有执行Hadoop Map/Reduce和Pig作业的操作的工作流作业。
- Distribution Contents
- Quick Start
- Developer Documentation
- Administrator Documentation
- Licensing Information
- Engineering Documentation
- MiniOozie Documentation
- Oozie User Authentication Documentation
发行版内容 - Distribution Contents
Oozie distribution consists of a single ‘tar.gz’ file containing:
- Readme, license, notice & Release log files.
- Oozie server: oozie-server directory.
- Scripts: bin/ directory, client and server scripts.
- Binaries: lib/ directory, client JAR files.
- Configuration: conf/ server configuration directory.
- Archives:
- oozie-client-*.tar.gz : Client tools.
- oozie.war : Oozie WAR file.
- docs.zip : Documentation.
- oozie-examples-*.tar.gz : Examples.
- oozie-sharelib-*.tar.gz : Share libraries (with Streaming, Pig JARs).
快速启动 - Quick Start
Enough reading already? Follow the steps in Oozie Quick Start to get Oozie up and running.
- 个人安装记录 - https://www.yuque.com/huioo/wdag30/aqh647
- 官方快速安装指南 - http://oozie.apache.org/docs/4.0.0/DG_QuickStart.html
开发文档 - Developer Documentation
- Overview
- Oozie Quick Start
- Running the Examples
- Workflow Functional Specification
- Coordinator Functional Specification
- Bundle Functional Specification
- EL Expression Language Quick Reference
- Command Line Tool
- Workflow Re-runs Explained
- HCatalog Integration Explained
- Oozie Client Javadocs
- Oozie Core Javadocs
- Oozie Web Services API
- Unified Credentials Module
Action Extensions
- Email Action
- Shell Action
- Hive Action
- Sqoop Action
- Ssh Action
- DistCp Action
Writing a Custom Action Executor
Job Status and SLA Monitoring
- Configuring and Monitoring SLA
管理员文档 - Administrator Documentation
Licensing Information
Oozie is distributed under Apache License 2.0 .
For details on the license of the dependent components, refer to the Dependencies Report, Licenses section .
Oozie bundles an embedded Apache Tomcat 6.x.
Some of the components in the dependencies report don’t mention their license in the published POM. They are:
- JDOM: JDOM License (Apache style).
- Oro: Apache License 2.0 .
Oozie uses a modified version of the Apache Doxia core and twiki plugins to generate Oozie documentation.
Engineering Documentation
- Building Oozie
-
MiniOozie Documentation
Testing User Oozie Applications Using MiniOozie
Oozie User Authentication Documentation
类似应用
azkaban
介绍
Azkaban是一个分布式工作流管理器(a distributed Workflow Manager),LinkedIn实现它来解决Hadoop作业依赖的问题。我们的工作(jobs)需要按顺序运行,从ETL工作到数据分析产品。
特性 - Features
- Distributed Multiple Executor
- MySQL Retry
- Friendly UI
- Conditional Workflow
- Data Triggers
- High Security
- Support plug-in extensions, from Web UI to job Execution
- Full Authorship management system
与oozie对比
- 功能对比
Azkaban和Oozie都可以调用像linux、mapreduce、pig、spark、java等脚本工作流任务;都可以设置任务来执行。 - 工作流定义对比
Azkaban使用Properties文件定义工作流;
Oozie使用XML文件定义工作流。 - 工作流传参对比
Azkaban支持直接传参,例如${input};
Oozie支持参数和EL表达式两种方式,例如${fs:dirSize(myInputDir)}。 - 定时任务对比
Azkaban的定时执行任务是基于时间的;
Oozie的定时执行任务基于时间和输入数据两种方式,功能强大,但是带来配置的复杂度比较高。 - 资源管理对比
Azkaban有较严格的权限控制,如用户对工作流进行读/写/执行等操作;
Oozie暂无严格的权限控制,多人协作就比较麻烦了。 - 工作流对比
Azkaban有三种运行模式:solo server mode、 two server mode、multiple executor mode。
Oozie作为工作流服务器运行,支持多用户和多工作流。 - 工作流管理对比
Azkaban支持浏览器以及ajax方式操作工作流;
Oozie支持命令行、HTTP REST、Java API、浏览器操作工作流。
