1.从apache的官网下载oozie3.3.2 2.编译oozie,以下命令用root来执行吧,它不做任何的测试的,因为一测试就会出错的 官网估计也知道,所以顺便也提供了一个跳过参数的命令。。。 bin/mkdistro.sh -DskipTests 编译完成之后的实际可运行程序位于oozie/distro/target/oozie-3.3.2-distro/ 目录下 我好不容易找到了这个目录,我把它已到了/usr目录下面 3.在oozie的目录下建立一个libext文件件,然后把hadoop的jar加进去,因为3.3.2默认是支持1.1.1的,用以下这句命令 bin/oozie-setup.sh prepare-war hadoop 1.1.2 /usr/hadoop/ 这个命令其实是在oozie-server/webapps里面生成一个可以部署的包的,但是最后它会出错,说有jar包没找到,没关系不影响。 4.配置oozie存储数据用mysql 首先添加mysql连接的jar包和ext-2.2.zip添加到oozie里面的libext目录下, bin/oozie-setup.sh prepare-war 就这句命令就行,它会自动把libext目录下的所有包自动添加到目标的war包当中,我就碰到mysql报错,oozie的web的查看不了的问题,出问题就在这一步, 网上根本找不到资料,试了好多办法都解决不了,最后再认真细看了官方文档才知道这个诀窍,之前添加hadoop的jar包那一步不成功,可能的原因就是因为默认支持的版本不一样吧,oozie3.3.2默认支持1.1.1的,我的是1.1.2的,它要查找的包在我的版本已经没了。。。所以导致最后生成war包不成功。 貌似这一步是把jar包加到它的war包里面的此外我们还要把这个jar包放到libext里面 修改conf下面的oozie-site.xml设置mysql的属性,修改为以下内容
<property> <name>oozie.service.JPAService.jdbc.driver</name> <value>com.mysql.jdbc.Driver</value> <description> JDBC driver class. </description> </property> <property> <name>oozie.service.JPAService.jdbc.url</name> <value>jdbc:mysql://localhost:3306/oozie</value> <description> JDBC URL. </description> </property> <property> <name>oozie.service.JPAService.jdbc.username</name> <value>oozie</value> <description> DB user name. </description> </property>
手动建库
mysql> create database oozie;
Query OK, 1 row affected (0.03 sec)
mysql> grant all privileges on oozie.* to 'oozie'@'localhost' identified by 'oozie';
Query OK, 0 rows affected (0.03 sec)
mysql> grant all privileges on oozie.* to 'oozie'@'%' identified by 'oozie';
Query OK, 0 rows affected (0.03 sec)
mysql> exit
执行以下脚本建表 bin/ooziedb.sh create -sqlfile oozie.sql -run 启动oozie,为了方便bin/oozied.sh start 这个加到了开机启动脚本里面 后台运行命令: $ bin/oozied.sh start 前台运行命令: $ bin/oozied.sh run 启动成功,oh,yeah,这只是第一步,好吧,到此为止吧,晚上00:22分了。 下面这个命令是用来检查oozie的健康状况的 $ bin/oozie admin -oozie http://localhost:11000/oozie -status