偶然的机会,去面试的时候听面试官讲他们的调度系统是基于hue+oozie,以前一直没有接触过,今天趁有空,尝试一下oozie

1.环境说明

  1. cat /etc/issue  CentOS release 6.2 (Final)
  2. hadoop-2.2.0
  3. oozie-4.3.0
  4. jdk 1.7.0_45
  5. 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安装总结的更多相关文章

  1. Oozie安装时放置Mysql驱动包的总结(网上最全)

    不多说,直接上干货! 对于在oozie里放置Mysql驱动包的总结 根据网上的参考以及我个人经验安装的使用 (1)放一份到$OOZIE_HOME/libext下 (是 mysql-connector- ...

  2. CDH版本的oozie安装执行bin/oozie-setup.sh prepare-war,没生成oozie.war?

    不多说,直接上干货! 前期博客 Oozie安装部署 问题描述 bin/oozie-setup.sh prepare-war 解决办法 [hadoop@bigdatamaster bin]$ pwd / ...

  3. 【转】oozie安装和自带示例的使用

    oozie安装 [转]http://www.tuicool.com/articles/qUVNJn oozie自带示例的使用 [转]http://blog.csdn.net/zhu_xun/artic ...

  4. Oozie安装与部署

    原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3885162.html 安装基础环境: Hadoop – 2.2.0  Linux – Centos 6. ...

  5. Oozie安装部署

    不多说,直接上干货! 首先,大家先去看我这篇博客.对于Oozie的安装有一个全新的认识. Oozie安装的说明 我这里呢,本篇博文定位于手动来安装Oozie,同时避免Apache版本的繁琐编译安装,直 ...

  6. Oozie安装的说明

    不多说,直接干货! Oozie相当于Hadoop的一个客户端,因此集群中要有一台机器部署Oozie server端即可,由于可以有任意多个客户端连接Oozie,故每个客户端都必须部署Oozie cli ...

  7. 【原】centos6.5下cdh4.6 Oozie安装

    0.oozie只需安装在一台服务器上,这里选择在namenode上来安装:安装用户为cloud-user 1.安装Oozie包:    sudo yum install -y oozie oozie- ...

  8. Oozie 安装及 examples app 的使用

    参考文档 一.Building OOzie 特别注意的是修改Pom.xml文件中的版本与本机中安装的版本相同 二. install Oozie 1.为 hadoop 添加 Oozie 的代理用户,添加 ...

  9. 大数据平台搭建 - cdh5.11.1 - oozie安装

    一.简介 oozie是hadoop平台开源的工作流调度引擎,用来管理hadoop作业,属于web应用程序,由oozie server 和oozie client构成. oozie server运行与t ...

随机推荐

  1. Java的定时调度

    一般在web开发中定时调度比较有用,因为要维护一个容器不关闭才可以一直定时操作下去. 定时调度:每当一段时间之后,程序就会自动执行,就称为定时调度.如果要使用定时调动,则必须要保证程序要始终运行着,也 ...

  2. 知了课堂 Python Flask零基础 笔记整理

    目录 起步 安装Python2.7: Python虚拟环境介绍与安装: pip安装flask: 认识url: URL详解 web服务器和应用服务器以及web应用框架: Flask 第一个flask程序 ...

  3. ACM java写法入门

    打2017icpc沈阳站的时候遇到了大数的运算,发现java与c++比起来真的很赖皮,竟然还有大数运算的函数,为了以后打比赛更快的写出大数的算法并且保证不错,特意在此写一篇博客, 记录java的大数运 ...

  4. ubuntu 16.04 tensorboard 学习

    一.新建tensorboard的文件夹,并在该文件夹下打开终端进入python输入以下代码 ////////新建文件夹取名tensorboard 在该目录下打开终端 import tensorflow ...

  5. (转)虚拟路由器冗余协议【原理篇】VRRP详解

    原文:http://blog.51cto.com/zhaoyuqiang/1166840 为什么要使用VRRP技术 我们知道,为了实现不同子网之间的设备通信,需要配置路由.目前常用的指定路由方法有两种 ...

  6. 在页面中嵌入svg的几种方法

    //在页面中嵌入svg的方法1:使用 <embed> 标签<embed> 标签被所有主流的浏览器支持,并允许使用脚本.注释:当在 HTML 页面中嵌入 SVG 时使用 < ...

  7. 【随笔】node.js + npm的安装

    需要用到node.js和npm,所以来安装下. 在网上找了找教程,好多都是分开装的,各种麻烦各种事,最后还是在node.js官网里下载解决了.记录一下. 如果安装在当前环境,直接点击install会自 ...

  8. 45 Useful Oracle Queries--ref

    http://viralpatel.net/blogs/useful-oracle-queries/ Here’s a list of 40+ Useful Oracle queries that e ...

  9. Scrapy框架学习(二)Scrapy入门

    接下来以爬取quote.toscrape.com为例完成一遍Scrapy的抓取流程. 首先创建一个Scrapy项目.打开命令行,输入以下命令: scrapy startproject projectn ...

  10. 【tomcat资源映射本地路径配置】

    需要注意的是:eclipse默认的服务器配置是其内置的. 如果使用自定义的tomcate的配置文件需要在服务器中配置: 1:进入到tomcat根目录下,然后vim conf/server.xml,在& ...