大数据开发:Oozie调度框架简介

在大数据处理的各个环节当中,各种任务的执行,往往需要调度框架来协调。市面上的调度框架,也有很多开源产品,而Oozie框架还是占有一定的市场地位的。今天的大数据开发分享,我们就先来讲讲这个Oozie调度框架的一些基础知识。

Apache Oozie是一个用来管理Hadoop任务的工作流调度系统,基于有向无环图的模型(DAG)。Oozie支持大多数的Hadoop任务的组合,常见的有Java MapReduce,Streaming map-reduce,Pig,Hive,Sqoop,Distcp,也可以结合一些脚本如Shell,Python,Java来很灵活的完成一些事情。

Oozie简介

Apache Oozie是工作流调度用在Hadoop中。它是一个运行相关的作业工作流系统。这里,用户被允许创建向非循环图工作流程,其可以在并列Hadoop并顺序地运行。

它由两部分组成:

工作流引擎:一个工作流引擎的职责是存储和运行工作流程,由Hadoop作业组成:MapReduce,Pig,Hive。

协调器引擎:它运行基于预定义的时间表和数据的可用性工作流程作业。

Oozie可扩展性和可管理及时执行成千上万的工作流程(每个由几十个作业)的Hadoop集群。

Oozie也非常灵活。人们可以很容易启动,停止,暂停和重新运行作业。Oozie可以很容易地重新运行失败的工作流。可以很容易重做因宕机或故障错过或失败的作业。甚至有可能跳过一个特定故障节点。

Oozie三大功能模块

Oozie的组成

Readme, license, notice & Release log files.(一个项目的,版权,介绍,log等)

Oozie server: oozie-server directory.(oozie的服务端目录)

Scripts: bin/ directory, client and server scripts.(bin下面有一些常用的命令,来管理oozie的)

Binaries: lib/ directory, client JAR files.(存放oozie的依赖包)

Configuration: conf/ server configuration directory.(oozie的配置文件)

Archives:(归档包目录)

oozie-client-*.tar.gz : Client tools.(oozie的客户端包)

oozie.war : Oozie WAR file.(web的服务工程)

docs.zip : Documentation.(文档)

oozie-examples-*.tar.gz : Examples.(例子)

oozie-sharelib-*.tar.gz : Share libraries (with Streaming, Pig JARs).(一些工作流支持的框架共享包)

为什么要使用Oozie?

使用Oozie的主要目的是为了管理不同类型的作业在Hadoop系统中处理。

作业之间的依赖关系是由用户向无环图的形式指定。Oozie的消费信息以及在工作流中指定负责其执行的顺序正确。这样,用户同时管理保存整个工作流程。此外Oozie有指定执行特定工作频率规定。

Oozie的特点

Oozie客户端API以及命令行界面可以用来启动,控制和监视Java应用程序作业

使用其Web服务的API可以从任何位置控制作业

Oozie有规定执行这些计划定期来运行作业

Oozie有规定作业完成后可发送电子邮件通知

关于大数据开发,Oozie调度框架,以上就为大家做了一个基本的介绍了。Oozie这个框架,在Hadoop生态圈当中,还是有着很好的集成性的,这也是Oozie需要大家去学习的原因。

你可能感兴趣的:(大数据开发:Oozie调度框架简介)