Hadoop Oozie 学习笔记(六) Hadoop Oozie概述

转载 2016年05月31日 23:19:05

本博客属原创文章,转载请注明出处:http://guoyunsky.iteye.com/blog/1391975  

 

      网上中文资料有点少,我这里翻译下官网.对自己也是个梳理,希望对大家也有用.

     

      Oozie是一个工作流引擎服务器,用于运行Hadoop Map/Reduce和Pig 任务工作流.同时Oozie还是一个Java Web程序,运行在Java Servlet容器中,如Tomcat.

       Oozie工作流中拥有多个Action,如Hadoop Map/Reuce job,Hadoop Pig job等,所有的Action以有向无环图(DAG Direct Acyclic Graph)的模式部署运行.所以在Action的运行步骤上是有方向的,只能上一个Action运行完成后才能运行下一个Action.

       Oozie工作流通过HPDL(一种通过XML自定义处理的语言,类似JBOSS JBPM的JPDL)来构造.

       Oozie工作流中的Action在运程系统运行如(Hadoop,Pig服务器上).一旦Action完成,远程服务器将回调Oozie的接口并通知Action已经完成,这时Oozie又会以同样的方式执行工作流中的下一个Action,直到工作流中所有Action都完成(完成包括失败)

       Oozie工作流中包含可控制的工作流节点(control flow node)和Action节点(action node).

       Control flow node其实可以理解为Oozie的语法,比如可以定义开始(start),结束(end),失败(fail)节点.开始节点就表示从该节点开始运行.同时也提供一种机制去控制工作流的执行过程,如选择(decision),并行(fork),join节点.

       Oozie工作流提供各种类型的Action用于支持不同的需要,如Hadoop Map/Reduce,Hadoop File System,Pig,SSH,HTTP,Email,Java,以及Oozie子流程.Oozie也支持自定义扩展以上各种类型的Action .

       Oozie工作流允许自定义参数,如${inputDir}.

 

 

        WordCount Workflow Example:

        工作流图:

 

        workflow.xml

Xml代码  收藏代码
  1. <workflow-app name='wordcount-wf' xmlns="uri:oozie:workflow:0.1">  
  2.     <start to='wordcount'/>  
  3.     <action name='wordcount'>  
  4.         <map-reduce>  
  5.             <job-tracker>${jobTracker}</job-tracker>  
  6.             <name-node>${nameNode}</name-node>  
  7.             <configuration>  
  8.                 <property>  
  9.                     <name>mapred.mapper.class</name>  
  10.                     <value>org.myorg.WordCount.Map</value>  
  11.                 </property>  
  12.                 <property>  
  13.                     <name>mapred.reducer.class</name>  
  14.                     <value>org.myorg.WordCount.Reduce</value>  
  15.                 </property>  
  16.                 <property>  
  17.                     <name>mapred.input.dir</name>  
  18.                     <value>${inputDir}</value>  
  19.                 </property>  
  20.                 <property>  
  21.                     <name>mapred.output.dir</name>  
  22.                     <value>${outputDir}</value>  
  23.                 </property>  
  24.             </configuration>  
  25.         </map-reduce>  
  26.         <ok to='end'/>  
  27.         <error to='end'/>  
  28.     </action>  
  29.     <kill name='kill'>  
  30.         <message>Something went wrong: ${wf:errorCode('wordcount')}</message>  
  31.     </kill/>  
  32.     <end name='end'/>  
  33. </workflow-app>  

 

      同时自己成org.myorg.WordCount这个Hadoop Map/Reduce Job,网上搜索一大把.

配置打包后通过OozieClient提交给Hadoop就直接可以运行了.

oozie学习笔记

oozie远程触发一个工作,一个工作完成之后,返回oozie知行下一个 oozie是以DAG的形式执行,前一个执行完,下一个才能执行!   可以在工作流中使用参数化形式定义参数类似${inputDir...

Hadoop学习笔记十一 使用Oozie自动化数据处理(未完)

使用Oozie自动化数据处理本文学习资源部分来自《Hadoop高级编程——构建与实现大数据解决方案》清华大学出版社。一、简介Oozie是一个Workflow协调系统,可以用来管理Apache Hado...
  • xundh
  • xundh
  • 2017年06月13日 20:00
  • 358

Oozie学习笔记-安装部署与运行实例

Oozie安装部署 1.oozie包的下载  3.0.*版本或者之前的版本是可以离线安装的(例如oozie-3.0.2-distro.tar.gz),在往上的版本(例如  oozie-3.3...

Oozie学习笔记

Oozie:Hadoop平台开源的工作流调度引擎,管理Hadoop作业,由server和client两个组件组成 运行java servlet的web程序 官网:https://oozie.apa...

2种hadoop工作流调度器比较(Oozie、Azkaban)

https://github.com/azkaban/azkaban 1.概述   在调度 Hadoop 的相关作业时,有以下几种方式: 基于 Linux 系统级别的 Crontab。Java 应...

Alex 的 Hadoop 菜鸟教程: 第20课 工作流引擎 Oozie

分类: Alex的Hadoop菜鸟教程2015-03-04 15:30 904人阅读 评论(1) 收藏 举报 hadoopooziemapreduce 目录(?)[+] ...

急性子的开源​​大数据,第 1 部分: Hadoop 教程:Hello World 与 Java、Pig、Hive、Flume、Fuse、Oozie,以及 Sqoop 与 Informix、DB2 和

如何开始使用 Hadoop 和自己喜欢的数据库 本文的重点是解释大数据,然后在 Hadoop 中提供简单的工作示例,Hadoop 是在大数据领域的主要开源选手。您会很高兴地听到,Hadoop...

oozie 3.3.2在hadoop 2.2.0下的安装部署,及问题解决

oozie的安装部署及配置感觉不是一般的繁琐,而且层出不穷的bug也弄的我焦头烂额,下面主要讲下我的安装过程及遇到的问题  一.必要准备: 1.      Apache的tomcat 2.      ...

hadoop-2.5.2+Oozie-4.1.0环境构筑和简单测试

背景 对于Oozie的理解,我现在也是停留在它是一个job调度系统。至于在有Oozie的情况下,相比之下hadoop的性能是否会有很大的提升,官网中没有给出数据对比,无法直观的看到差异。但相比较没有...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hadoop Oozie 学习笔记(六) Hadoop Oozie概述
举报原因:
原因补充:

(最多只允许输入30个字)