oozie4.3编译、安装和启动

背景

昨天在学习《Hadoop权威指南》中关于oozie的内容,本以为不算难,结果却踩了不少坑

环境

由于oozie编译时只能运行sh文件,所以不可避免要安装Cygwin。64位的Cygwin下载地址如下

链接:https://pan.baidu.com/s/1RoL6lyvPyiFPwVEVfowvgg ,提取码:ioi8 

安装过程请参见博文https://blog.csdn.net/chunleixiahe/article/details/55666792

编译

下载oozie4.3的源码,地址如下

链接:https://pan.baidu.com/s/13PKfDTwGNQDWS5DqrktMPA ,提取码:c5n9 

解压到某个文件夹(以D:\develop为例),然后打开cygwin,cd到bin目录下,参考命令

cd /cygdrive/d/develop/oozie-4.3.0/bin

在编译前,先给maven设置java堆栈内存大小,以防oom

export MAVEN_OPTS='-Xms256m -Xmx1024m'

然后进行编译,命令如下

./mkdistro.sh -DskipTests

安装

编译完成后,在oozie-4.3.0目录下会有target文件夹,cd到target\distro目录,新建extra_libs目录(而不是libext)

cd D:\develop\oozie-4.3.0\distro\target\oozie-4.3.0-distro

mkdir extra_libs

然后把hadoop中所有jar包、mysql的驱动jar包都复制到extra_libs里。其中复制hadoop中所有jar包的命令如下所示

cp /cygdrive/d/develop/hadoop-2.8.5/share/hadoop/*/*.jar ./extra_libs

cp /cygdrive/d/develop/hadoop-2.8.5/share/hadoop/*/lib/*.jar ./extra_libs

我们还需要一个ext-2.2的zip包,下载下来后也放到extra_libs里。下载链接如下

链接:https://pan.baidu.com/s/1wM2zYsz_Gdi5xzec9Be3Aw ,提取码:9mip 

然后,在oozie4.3.0根目录下,搜索oozie-core-4.3.0.jar和oozie-client-4.3.0.jar,把它们复制到D:\develop\oozie-4.3.0\distro\target\oozie-4.3.0-distro\oozie-4.3.0\lib下,然后下载jdom、json_simple、commons-cli和openjpa的jar包,也复制到lib目录下。这几个文件的下载链接如下

链接:https://pan.baidu.com/s/1RKOhfs-WD0G8S4ogGP452w ,提取码:krgp 

然后,打开conf\oozie-site.xml文件,复制以下内容

<?xml version="1.0"?>

<configuration>

    <property>
        <name>oozie.service.JPAService.create.db.schema</name>
        <value>true</value>
    </property>
    <property>
        <name>oozie.service.JPAService.jdbc.driver</name>
        <value>com.mysql.jdbc.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>*=D:\develop\hadoop-2.8.5\etc\hadoop</value>
    </property>

    <property>
        <name>oozie.service.JPAService.jdbc.url</name>
        <value>jdbc:mysql://localhost:3306/oozie</value>

    </property>
    <property>
        <name>oozie.service.JPAService.jdbc.username</name>
        <value>root</value>
    </property>
    <property>
        <name>oozie.service.JPAService.jdbc.password</name>
        <value>root</value>
    </property>

    <property>
        <name>oozie.service.WorkflowAppService.system.libpath</name>
        <value>hdfs://localhost/user/oozie/share/lib</value>
    </property>

</configuration>

注意把hadoop的路径、数据库的用户名密码都改成自己的

最后,切换到bin目录下(这时可以用cmd了,因为里面有cmd文件),执行命令

oozie-setup.cmd prepare-war

生成war包,然后执行命令

oozie-setup.cmd db create -run -sqlfile oozie.sql

生成oozie.sql文件,打开navicat,创建oozie数据库,右键之,选择执行sql文件,找到oozie.sql,执行之。

如果执行oozie.sql不顺利,可以把创建索引语句都删除,在查询里,先执行建表语句,再执行两条插入语句。

启动

至此,oozie4.3就安装完了,运行bin目录下的oozied.cmd,即可启动之

oozied.cmd start

在浏览器里输入url

http://localhost:11000/oozie/

即可看到web界面

结语

最后,为了方便大家,我把我编译好的distro、生成好的war、jar全分享给大家,让大家避免走弯路

distro压缩包:

链接:https://pan.baidu.com/s/1wMEo0-s7FLilSk0JBBuZBQ 提取码:kvs7 

war:

链接:https://pan.baidu.com/s/1pLHum3vK147oxWxX4jlt0w 提取码:g4lj 

jar:

链接:https://pan.baidu.com/s/1JfjQ-UJdfmGF59WintpYdg 提取码:n1na 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值