OOIZE整理笔记

1 环境搭建准备

hadoop0.20.2

jkd1.6.0.38

ext-2.2

Oozie3.02

apache-tomcat-6.0.36

2 Oozie 介绍

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协调程序支持创建这样的数据应用管道。

3 环境搭建

1     下载上述准备的应用软件。

2      将上述准备好的材料统统放入 /home/software/ 进行解压(ext-2.2除外)

3 设置环境变量

export OOZIE_HOME=/home/software/oozie-3.0.2

export CATALINA_HOME=/home/software/apache-tomcat-6.0.36

export JRE_HOME=/usr/jdk1.7.0_10/jre。

4 安装OOZIE

输入命令

$OOZIE_HOME/bin/oozie-setup.sh -hadoop 0.20.2 /home/software/hadoop-0.20.2 -extjs /home/software/ext-2.2.zip

运行这条命令Oozie会将hadoop相关jar和oozie等拷贝到Oozie中.同时得到以下结果则代表你安装成功:

    New Oozie WAR file with added 'Hadoop JARs, ExtJS library' at /home/software/ oozie-3.0.2/oozie-  server/webapps/oozie.war

INFO: Oozie is ready to be started。

6)启动OOZIE

这里你要先确定你的Tomcat没有在运行.输入命令:

$OOZIE_HOME/bin/oozie-run.sh

之后会看到一大把的输出,同时Oozie会启动Tomcat.当你看到

2013-01-30 21:15:21 org.apache.catalina.startup.Catalina start

    信息: Server startup in 17365 ms

   则表示Oozie启动成功.

7)查看web控制台

   输入命令:

   $OOZIE_HOME/bin/oozie admin -oozie http://localhost:11000/oozie -status

当看到结果:

   System mode: NORMAL

    则表示已经成功,通过浏览器输入 http://localhost:11000/oozie就能看到Oozie的管理界面.

 

4 常见问题

访问oozie页面遇到404错误

解决方案:

1,把conf/oozie-default.xml里面的oozie.services属性值全部复制到conf/oozie-site.xml里面。
2,删去其中的org.apache.oozie.service.KerberosHadoopAccessorService值;
3,增加一个值:org.apache.oozie.service.HadoopAccessorService。

4, 重启oozie

二 webApp IE9 页面空白

解决方案:

1、         由于 OOZIE 使用的是extjs2.2版本,因此不支持IE9,硬伤问题。

2、         经测试,谷歌浏览器、与火狐浏览器正常运行。

转载于:https://www.cnblogs.com/elwiny/articles/OOZIE.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值