38.oozie简介第三十八讲_第1页
38.oozie简介第三十八讲_第2页
38.oozie简介第三十八讲_第3页
38.oozie简介第三十八讲_第4页
38.oozie简介第三十八讲_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、上海育创网络科技有限公司Hadoop快速入门讲师:gerry (北风网 )第三十八讲 Oozie简介Oozie起源 通过Hadoop中的组合任务方式可以将多个MR任务组合在一起来执行,但是随着job的越来越多,逻辑越来越复杂,使用Hadoop自带的方式就变的不太现实。所以在2012年的时候,Oozie作为一个孵化项目在Apache中诞生,随着时间的推移,Oozie在Hadoop生态圈的重要性也就越来越重了。通过Oozie我们可以将多个MR任务组合到一个逻辑单元中,从而完成更加大型的任务。现在Oozie除了支持MR任务外,还支持Java、Hive、email、shell等操作。Oozie是什么?

2、 Apache Oozie是用于Hadoop平台的一中工作流调度引擎,使用oozie可以将多个不同部分的任务组合成为一个跟大的逻辑任务,完成更大的任务目标(有依赖的任务)。 Oozie是一种Java Web应用程序,运行在java web容器中-比如Tomcat,并且使用关系型数据库来存储工作流的定义、当前运行工作流的实例以及实例的状态等信息。 Oozie依赖DAG(有向无环图)来定义工作流的一组动作,在其中指定动作的执行顺序,使用hPDL(一种xml语言格式)来定义工作流,描述执行流程以及顺序。Oozie类型Oozie主要有三种不同的类型/概念: 1. workflow:工作流,Oozie中

3、最基本的执行流对象。 2. coordinator:多个workflow可以组成一个coordinator,可以把前几个workflow的输出作为后一个workflow的输入,也可以定义workflow的触发条件,来做定时触发。 3. bundle:对一堆coordinator的抽象。Oozie workflow介绍1 Oozie工作流主要有两大类节点构成,分别为控制节点(control flow node)和执行节点(action node)。其中控制节点定义flow的走向,执行节点定义具体的执行动作。 控制节点其实可以理解为Oozie的语法,比如可以定义开始(start),结束(end),

4、失败(fail)节点。比如开始节点就表示从该节点开始运行。同时也提供一种机制去控制工作流的执行过程,如选择(decision)、并行(fork)、join节点等。 Oozie提供了众多的默认action方便使用,包括Hadoop Map/Reduce、HDFS、Pig、SSH、HTTP、Email、Java、Hive以及Oozie子流程等。Oozie也支持自定义扩展以上各种类型的Action。Oozie workflow介绍2 Oozie工作流通过HPDL(一种通过XML自定义处理的语言,类似JBOSS JBPM的JPDL)来构造。 一个Oozie工作流可以拥有多个Action,所有的Acti

5、on以有向无环图(DAG Direct Acyclic Graph)的模式部署运行。所以在Action的运行步骤上是有方向的,只能上一个Action运行完成后才能运行下一个Action。 Oozie工作流中的Action在运程系统运行如(Hadoop服务器上以MR任务执行)。一旦Action完成,远程服务器将回调Oozie的接口并通知 Action已经完成,这时Oozie又会以同样的方式执行工作流中的下一个Action,直到工作流中所有Action都完成(完成包括失败)。Oozie workflow Action执行结果获取方式 Oozie可以通过两种不同的方式来检测计算或处理任务(Actio

6、n)是否完成,也就是回调和轮询。当Oozie启动了计算或处理任务的时候,它会为任务提供唯一的回调URL,然后任务会在完成的时候发送通知给特定的URL。在任务无法触发回调URL的情况下(可能是因为任何原因,比方说网络闪断),或者当任务的类型无法在完成时触发回调URL的时候,Oozie有一种机制,可以对计算或处理任务进行轮询,从而保证能够完成任务。 如果需要支持Oozie的轮询服务,那么必须开启jobhistory服务(mr的),启动命令为: mr-history-demon.sh start history-serverOozie coordinator介绍 一些工作流是根据需要触发的,但是大多

7、数情况下,我们有必要基于一定的时间段和(或)数据可用性和(或)外部事件来运行它们。Oozie协调系统(Coordinator system)让用户可以基于这些参数来定义工作流执行计划。Oozie协调程序让我们可以以谓词的方式对工作流执行触发器进行建模,那可以指向数据、事件和(或)外部事件。工作流作业会在谓词得到满足的时候启动。Oozie bundle介绍 随着业务的发展,会产生越来越多的coordinator,coordinator的数量太多会导致管理oozie的作业越来越困难,所以可以将多个coordinator作业组合成一个bundle页面进行统一管理,简化oozie的业务管理。Oozie 执行流程1. 编写工作流配置文件workflow.xml、coordinator.xml以及bundle.xml。2. 编写job环境配置信息perties3. 将依赖的jar包放到lib文件夹中4. 将上述三个步骤产生的文件/文件夹全部上传到hdfs的一个文件夹中,比如上

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论