oozie安装总结
偶然的机会,去面试的时候听面试官讲他们的调度系统是基于hue+oozie,以前一直没有接触过,今天趁有空,尝试一下oozie
1.环境说明
- cat /etc/issue CentOS release 6.2 (Final)
- hadoop-2.2.0
- oozie-4.3.0
- jdk 1.7.0_45
- apache-maven-3.0.5
还需要说明的是,oozie 本身 apache 只提供源码,需要自己编译,编译需要的软件在官方有说明:
Unix box (tested on Mac OS X and Linux)
Java JDK 1.6+
Maven 3.0.1+
Hadoop 0.20.2+
Pig 0.7+
我这里在安装时并没有安装pig也能成功编译。
2.安装步骤
1.maven 安装
2.oozie 安装
git clone
编译:
bin/mkdistro.sh -DskipTests
编译后的文件在distro/target文件夹内,我这里的文件名为oozie-4.3.0-SNAPSHOT-distro.tar.gz
3. 安装oozie server
经过上面的编译,我们得到了二进制版的oozie,下面就可以部署server了,由此可见oozie使用的BS模式。
解压oozie-4.1.0-distro.tar.gz这个编译后的文件,进入该目录,创建文件夹libext
tar -xvf oozie-4.3.0-SNAPSHOT-distro.tar.gz
cd cd oozie-4.3.0-SNAPSHOT
mkdir libext
oozie server 需要用到一个js库,但是该js库官方给的链接已经失效了,有个大侠废了好大劲在网上找了个,传到了csdn上,大家下载后把ext-2.2.zip这个文件放的libext文件夹里。
然后,把hadoop的一些jar把也放到这个libext文件夹内,大家可参考下面这个命令
cp ${HADOOP_HOME}/share/hadoop/*/*.jar libext/
cp ${HADOOP_HOME}/share/hadoop/*/lib/*.jar libext/
这里有个大坑,oozie server默认使用tomcat 6.0.41,而hadoop也有内置的server,如果按照上面两个命令把hadoop依赖的jar包都拷贝过去,有可能出现冲突,这两个server使用的servlet、jsp版本很可能不一样。
这里需要把这几个jar包删除,不要放到libext中
rm jasper-compiler-5.5.23.jar
rm jasper-runtime-5.5.23.jar
rm jsp-api-2.1.jar
oozie server还需要依赖个数据库,我这里用的是常用的postgres,所以需要把postgres的驱动jar包也放的libext中。
然后修改conf/oozie-site.xml这个配置文件
<property>
<name>oozie.service.JPAService.create.db.schema</name>
<value>true</value>
</property>
<property>
<name>oozie.service.JPAService.jdbc.driver</name>
<value>org.postgresql.Driver</value>
</property>
<property>
<name>oozie.service.JPAService.jdbc.url</name>
<value>jdbc:postgresql://l-tdata2.tkt.cn6.qunar.com/oozie?createDatabaseIfNotExist=true</value>
</property> <property>
<name>oozie.service.JPAService.jdbc.username</name>
<value>**</value>
</property> <property>
<name>oozie.service.JPAService.jdbc.password</name>
<value>**</value>
</property>
<property>
<name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
<value>*=/home/q/hadoop/hadoop-2.2.0/etc/hadoop</value>
</property>
上面的配置中,指定了hadoop配置文件位置:*=/home/q/hadoop/hadoop-2.2.0/etc/hadoop,这里的*=不能少,你根据实际情况修改你的hadoop路径即可。
好,上面的步骤完成后,就可以生产server的war包了:
bin/oozie-setup.sh prepare-war
bin/oozie-setup.sh db create -run -sqlfile oozie.sql
执行完后,会在当前目录下生成 oozie.sql文件,同时初始化oozie的db环境。oozie.sql文件是oozie执行数据库的脚本。可以用于以后初始化,或者更新用。
最后,激动人心的时候就要到了,根据上面伪装功能的配置,我用oozie用户开启server:
bin/oozied.sh start
oozie安装总结的更多相关文章
- Oozie安装时放置Mysql驱动包的总结(网上最全)
不多说,直接上干货! 对于在oozie里放置Mysql驱动包的总结 根据网上的参考以及我个人经验安装的使用 (1)放一份到$OOZIE_HOME/libext下 (是 mysql-connector- ...
- CDH版本的oozie安装执行bin/oozie-setup.sh prepare-war,没生成oozie.war?
不多说,直接上干货! 前期博客 Oozie安装部署 问题描述 bin/oozie-setup.sh prepare-war 解决办法 [hadoop@bigdatamaster bin]$ pwd / ...
- 【转】oozie安装和自带示例的使用
oozie安装 [转]http://www.tuicool.com/articles/qUVNJn oozie自带示例的使用 [转]http://blog.csdn.net/zhu_xun/artic ...
- Oozie安装与部署
原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3885162.html 安装基础环境: Hadoop – 2.2.0 Linux – Centos 6. ...
- Oozie安装部署
不多说,直接上干货! 首先,大家先去看我这篇博客.对于Oozie的安装有一个全新的认识. Oozie安装的说明 我这里呢,本篇博文定位于手动来安装Oozie,同时避免Apache版本的繁琐编译安装,直 ...
- Oozie安装的说明
不多说,直接干货! Oozie相当于Hadoop的一个客户端,因此集群中要有一台机器部署Oozie server端即可,由于可以有任意多个客户端连接Oozie,故每个客户端都必须部署Oozie cli ...
- 【原】centos6.5下cdh4.6 Oozie安装
0.oozie只需安装在一台服务器上,这里选择在namenode上来安装:安装用户为cloud-user 1.安装Oozie包: sudo yum install -y oozie oozie- ...
- Oozie 安装及 examples app 的使用
参考文档 一.Building OOzie 特别注意的是修改Pom.xml文件中的版本与本机中安装的版本相同 二. install Oozie 1.为 hadoop 添加 Oozie 的代理用户,添加 ...
- 大数据平台搭建 - cdh5.11.1 - oozie安装
一.简介 oozie是hadoop平台开源的工作流调度引擎,用来管理hadoop作业,属于web应用程序,由oozie server 和oozie client构成. oozie server运行与t ...
随机推荐
- 获取指定<文字行数>的<高度>是多少 TextKit
- (CGSize)maxLineSizeWithLines:(NSInteger)lines constraintSize:(CGSize)size attributes:(NSDictionary ...
- 网络基础 01_OSI网际互联
1 通信概述 网络是用物理链路将各个孤立的工作站或主机相连在一起,组成数据链路,从而达到资源共享和通信的目的. 通信是人与人之间通过某种媒体进行的信息交流与传递. 网络通信是通过网络将各个孤立的设备进 ...
- python学习,day2:字典
字典的增删改查 # coding=utf-8 # Author: RyAn Bi info = { 'stu1101':'Tenglan Wu', 'stu1102':'longze Luola', ...
- Go语言命名
Go语言关键字 1.Go语言有25个关键字 2.关键字用途 var :用于变量的声明const :用于常量的声明type :用于声明类型func :用于声明函数和方法package :用于声明包文件i ...
- $bzoj1025-SCOI2009$游戏 群论 $dp$
题面描述 \(windy\)学会了一种游戏.对于\(1\)到\(N\)这\(N\)个数字,都有唯一且不同的1到N的数字与之对应.最开始\(windy\)把数字按顺序\(1,2,3,\cdot ...
- C#反射动态调用dll中的方法,并返回结果(转)
反射的作用是动态的加载某个dll(程序集),并执行该程序集中的某个方法,并返回结果:当然也可以给该方法传递参数 namespace assembly_name { public class assem ...
- Jmeter调试脚本之关联
前言: Jmeter关联和loadrunner关联的区别: 1.在loadrunner中,关联函数是写在要获取变量值的页面的前面,而在就Jmeter中关联函数是要写在获取变量函数值的页面的后面 2.在 ...
- eclipse相关问题汇总
安装subclipse svn工具: 配置JavaHL:http://subclipse.tigris.org/wiki/JavaHL#head-5bf26515097c3231c1b04dfdb22 ...
- 基于Metronic4.1的Bootstrap脚本样式说明
虽说Bootstrap作为当下最流行的响应式的UI,但是对于一些在Bootstrap基础上扩展的UI的资料算是少之又少.这里楼主结合这一个月的辛酸把那些脚本跟样式整理一下下... 关于Metronic ...
- RabbitMQ小节
一.RabbitMQ简介 RabbitQM是一款应用程序对应用程序的通讯方法,基于AMQP协议,用Erlang语言开发,因而安装环境配置之前需要首先安装Erlang语言环境.通过客户端发送消息到队列消 ...