`
gaojingsong
  • 浏览: 1201803 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

大数据之Oozie介绍

阅读更多

Oozie is a workflow scheduler system to manage Apache Hadoop jobs.

Oozie Workflow jobs are Directed Acyclical Graphs (DAGs) of actions.

Oozie Coordinator jobs are recurrent Oozie Workflow jobs triggered by time (frequency) and data availability.

Oozie is integrated with the rest of the Hadoop stack supporting several types of Hadoop jobs out of the box (such as Java map-reduce, Streaming map-reduce, Pig, Hive, Sqoop and Distcp) as well as system specific jobs (such as Java programs and shell scripts).

Oozie is a scalable, reliable and extensible system.



 

Oozie是一种Java Web应用程序,它运行在Java servlet容器——即Tomcat——中,并使用数据库来存储以下内容:

工作流定义

当前运行的工作流实例,包括实例的状态和变量

Oozie工作流是放置在控制依赖DAG(有向无环图 Direct Acyclic Graph)中的一组动作(例如,Hadoop的Map/Reduce作业、Pig作业等),其中指定了动作执行的顺序。我们会使用hPDL(一种XML流程定义语言)来描述这个图。

hPDL是一种很简洁的语言,只会使用少数流程控制和动作节点。控制节点会定义执行的流程,并包含工作流的起点和终点(start、end和fail节点)以及控制工作流执行路径的机制(decision、fork和join节点)。动作节点是一些机制,通过它们工作流会触发执行计算或者处理任务。Oozie为以下类型的动作提供支持: Hadoop map-reduce、Hadoop文件系统、Pig、Java和Oozie的子工作流(SSH动作已经从Oozie schema 0.2之后的版本中移除了)。

 

所有由动作节点触发的计算和处理任务都不在Oozie之中——它们是由Hadoop的Map/Reduce框架执行的。这种方法让Oozie可以支持现存的Hadoop用于负载平衡、灾难恢复的机制。这些任务主要是异步执行的(只有文件系统动作例外,它是同步处理的)。这意味着对于大多数工作流动作触发的计算或处理任务的类型来说,在工作流操作转换到工作流的下一个节点之前都需要等待,直到计算或处理任务结束了之后才能够继续。Oozie可以通过两种不同的方式来检测计算或处理任务是否完成,也就是回调和轮询。当Oozie启动了计算或处理任务的时候,它会为任务提供唯一的回调URL,然后任务会在完成的时候发送通知给特定的URL。在任务无法触发回调URL的情况下(可能是因为任何原因,比方说网络闪断),或者当任务的类型无法在完成时触发回调URL的时候,Oozie有一种机制,可以对计算或处理任务进行轮询,从而保证能够完成任务。

 

Oozie工作流可以参数化(在工作流定义中使用像${inputDir}之类的变量)。在提交工作流操作的时候,我们必须提供参数值。如果经过合适地参数化(比方说,使用不同的输出目录),那么多个同样的工作流操作可以并发。

 

一些工作流是根据需要触发的,但是大多数情况下,我们有必要基于一定的时间段和(或)数据可用性和(或)外部事件来运行它们。Oozie协调系统(Coordinator system)让用户可以基于这些参数来定义工作流执行计划。Oozie协调程序让我们可以以谓词的方式对工作流执行触发器进行建模,那可以指向数据、事件和(或)外部事件。工作流作业会在谓词得到满足的时候启动。

 

经常我们还需要连接定时运行、但时间间隔不同的工作流操作。多个随后运行的工作流的输出会成为下一个工作流的输入。把这些工作流连接在一起,会让系统把它作为数据应用的管道来引用。Oozie协调程序支持创建这样的数据应用管道。

  • 大小: 12.1 KB
0
0
分享到:
评论

相关推荐

    尚硅谷大数据技术之Oozie1

    总结来说,Oozie是大数据环境中不可或缺的工具,它简化了任务调度和管理,使得开发者能够构建复杂的工作流,同时支持定时触发和灵活的任务执行顺序。在部署Oozie时,要注意与Hadoop的集成和配置,以确保系统稳定运行...

    尚硅谷 大数据 hive oozie sqoop kalfa flume zk hbase Hadoop

    尚硅谷 大数据 hive oozie sqoop kalfa flume zk hbase Hadoop

    大数据技术之Oozie.doc

    Oozie是大数据领域中一个重要的工作流管理系统,它的名字来源于英文“驯象人”,寓意其能有效地管理和调度大数据处理中的复杂任务。Oozie由Cloudera公司贡献给Apache,主要服务于Hadoop生态系统,用于协调和调度...

    大数据+oozie+编译依赖doxia-core、doxia-module-twiki

    标题提到的“大数据+oozie+编译依赖doxia-core、doxia-module-twiki”涉及到的是Oozie在构建和运行时对Maven项目构建工具中的特定模块——Apache Doxia的相关依赖。Apache Doxia是Apache Maven的一个子项目,它是一...

    大数据技术之Oozie入门到精通.txt

    ### 大数据技术之Oozie入门到精通 #### 一、Oozie简介与应用场景 **Oozie**是一款开源的工作流调度系统,主要用于在Hadoop生态系统中管理和执行复杂的数据处理任务。它通过定义一系列有依赖关系的操作来实现工作流...

    大数据Oozie架构原理.pdf

    大数据Oozie架构原理 Oozie 是一个基于工作流引擎的开源框架,运行在 Tomcat 容器中,使用数据库存储工作流定义和实例,支持多种类型的 Hadoop 作业调度。Oozie 的架构原理可以分为四个部分:Client、Console、SDK ...

    Oozie大数据调度系统从入门到精通视频教程

    从零开始讲解大数据调度系统构成,集成大数据计算任务构建大数据工作流,基于Oozie构建实现企业级自动化任务开发 课程亮点 1,知识体系完备,从小白到大神各阶段读者均能学有所获。 2,生动形象,化繁为简,讲解...

    09.大数据工作流引擎Oozie.pptx.pptx

    Oozie由Cloudera公司贡献给Apache的基于工作流引擎的开源框架,是用于Hadoop平台的开源的工作流调度引擎,是用来管理Hadoop作业,属于web应用程序,

    2018最新大数据全套视频(硅谷大数据)

    01_大数据技术之Linux基础 02_大数据技术之Hadoop 03_...大数据技术之Hadoop-HA 11_大数据技术之Oozie 12_大数据技术之项目:电信客服 13_尚硅谷大数据项目之堵车预测 14_尚硅谷大数据项目之电商分析平台 课件pdf版

    12_尚硅谷大数据技术之Oozie.doc

    本教程特点: 1.更适合零基础学员: ·自Java语言起源始,循序渐进,知识点剖析细致且每章配备大量随堂练习,让你步步为营,学得透彻、练得明白 ·拒绝晦涩难懂的呆板教学,宋老师语言生动幽默,举例形象生动深入浅...

    尚硅谷大数据技术之 Sqoop Oozie Azkaban1

    【尚硅谷大数据技术之 Sqoop Oozie Azkaban1】这篇文章主要介绍了大数据领域中用于工作流调度的重要工具——Azkaban,以及与其相似的Oozie。在大数据处理过程中,工作流调度系统扮演着至关重要的角色,尤其对于处理...

    oozie介绍及使用详解

    **Oozie节点介绍** Oozie节点是工作流中的基本单元,每个节点代表一个特定的动作或者控制流程。例如: - **Action Node**:执行实际任务,如MapReduce Job Node、Pig Action Node、Hive Action Node等。 - **...

    2018尚硅谷新版大数据零基础入门到精通全套视频教程

    尚硅谷新版大数据零基础入门到精通全套视频教程作为大数据倡导者,大数据是目前比较火热的技术话题,hadoop、spark等...07_尚硅谷大数据技术之Oozie 08_尚硅谷大数据技术之HBase 09_尚硅谷大数据技术之Kafka 0710100

    精品课程推荐 大数据与云计算教程课件 优质大数据课程 35.Oozie(共41页).pptx

    Oozie作为工作流管理系统,对于优化大数据任务调度和管理至关重要,是大数据项目中不可或缺的一部分。通过学习这些课程,学员将能掌握从数据存储、处理到分析的全过程,提升在大数据领域的专业技能。

    大数据框架Sqoop+Flume+Oozie+Hue视频教程

    《大数据框架Sqoop+Flume+Oozie+Hue视频教程》Sqoop+Flume+Oozie+Hue整合大数据视频教程 经典之作 值得珍藏的大数据视频教程。

    大数据框架Sqoop+Flume+Oozie+Hue视频教程(59讲)

    大数据框架Sqoop+Flume+Oozie+Hue视频教程(59讲) 内含百度云地址

    大数据视频_Oozie视频教程

    Oozie是大数据生态圈中一个基于工作流的任务调度工具,也是大数据工程师的一个常用工具。在本课程中,你将学习到,Oozie的原理、安装配置、使用Oozie实现调度Shell脚本、逻辑调度多个Shell脚本、直接调度MapReduce...

Global site tag (gtag.js) - Google Analytics