先获取oozie的版本,目前最新的是3.3.1.
http://mirror.bit.edu.cn/apache/oozie/3.3.1/
此版本需要自己build,需要先下载安装JDK, maven, hadoop, extjs libray 2.2.
我的环境:
- Ubuntu
- JDK 1.6.0_43
- maven 3.0.7
- Hadoop 1.0.4
- extjs 2.2 (Oozie web-console需要)
1. Build:
./bin/mkdistro.sh -DskipTests
成功build后,会在目录里生成一个distribution.
hadoop安装时创建的hadoop组和hadoop用户对oozie目录是没有权限,所以最好一开始创建oozie组和oozie用户,同时赋予权限,不然会报错.偷懒用了root用户。新用户下记得export JAVA_HOME=<JDK安装路径>
2.安装oozie:
If using the ExtJS library copy the ZIP file to the libext/ directory.
根据官方文档在distibution的目录下(/usr/local/oozie-3.3.1/distro/target/oozie-3.3.1-distro/oozie-3.3.1)创建libext,因为装的hadoop版本是1.0.4,所以拷贝$HADOOP_HOME/lib下的所有jar包到libext下,同时拷贝ext-2.2.zip到该目录下。
还要拷贝$HADOOP_HOME下的所有jar包到libext.
cd /usr/local/oozie-3.3.1/distro/target/oozie-3.3.1-distro/oozie-3.3.1/bin ./oozie-setup.sh
成功运行后
New Oozie WAR file with added 'ExtJS library, JARs' at /usr/local/oozie-3.3.1/distro/target/oozie-3.3.1-distro/oozie-3.3.1/oozie-server/webapps/oozie.war INFO: Oozie is ready to be started
root@ubuntu:/usr/local/oozie-3.3.1/webapp/src/main/webapp# cp /usr/local/oozie-3.3.1/distro/target/oozie-3.3.1-distro/oozie-3.3.1/oozie.war ./
<property>
<name>oozie.service.JPAService.create.db.schema</name>
<value> true</value>
<description>
Creates Oozie DB.
If set to true, it creates the DB schema if it does not exist. If the DB schema exists is a NOP.
If set to false, it does not create the DB schema. If the DB schema does not exist it fails start up.
</description>
</property>
cd /usr/local/oozie-3.3.1/distro/target/oozie-3.3.1-distro/oozie-3.3.1/bin ./ooziedb.sh create -sqlfile oozie.sql -run
成功运行后
DONE Check DB schema does not exist DONE Check OOZIE_SYS table does not exist DONE Create SQL schema DONE DONE Create OOZIE_SYS table DONE Oozie DB has been created for Oozie version '3.3.1'
cd /usr/local/oozie-3.3.1/distro/target/oozie-3.3.1-distro/oozie-3.3.1/bin ./oozie-start.sh
用浏览器访问http://localhost:11000/oozie/就能看到oozie web console.