本篇文章主要介紹Oozie的搭建,Oozie在任一節點安裝即可。
1、下載安裝包,並解壓
下載地址(http://archive.cloudera.com/cdh5/cdh/5/oozie-4.1.0-cdh5.8.0.tar.gz),選擇hadoop和oozie的對應版本,版本一定要對應,否則可能安裝成功但運行時可能不成功。
解壓命令如下:
tar -zxvf oozie-4.1.0-cdh5.8.0.tar.gz
2、創建hadooplibs
進入/home/hadoop/app/oozie/oozie-4.1.0-cdh5.8.0目錄:
# 進入 oozie-4.1.0-cdh5.8.0 目錄
cd /home/hadoop/app/oozie/oozie-4.1.0-cdh5.8.0
# 解壓目錄下的 oozie-hadooplibs-4.1.0-cdh5.8.0.tar.gz 文件
tar -zxvf oozie-hadooplibs-4.1.0-cdh5.8.0.tar.gz
# 進入解壓後的目錄
cd /home/hadoop/app/oozie/oozie-4.1.0-cdh5.8.0/oozie-4.1.0-cdh5.8.0
# 移動 hadooplibs 目錄到 oozie-4.1.0-cdh5.8.0 根級目錄
mv hadooplibs /home/hadoop/app/oozie/oozie-4.1.0-cdh5.8.0/
3、創建libext
進入/home/hadoop/app/oozie/oozie-4.1.0-cdh5.8.0目錄,複製jar和ext-2.2.zip(下載地址)到新建的libext目錄下:
# 進入 oozie-4.1.0-cdh5.8.0 目錄
cd /home/hadoop/app/oozie/oozie-4.1.0-cdh5.8.0
# 創建 libext 目錄
mkdir libext
# 複製 hadooplibs/hadooplib-2.5.0-cdh5.3.6.oozie-4.0.0-cdh5.3.6 目錄下的數據到 libext 目錄下
cd /home/hadoop/yangyang/oozie/hadooplibs/hadooplib-2.5.0-cdh5.3.6.oozie-4.0.0-cdh5.3.6
cp -p * /home/hadoop/yangyang/oozie/libext
# 上傳 ext 文件到 libext 目錄下
cd /home/hadoop/yangyang/oozie/libext
rz ext-2.2.zip
4、添加mysql驅動到lib和libext目錄下
# 進入 oozie-4.1.0-cdh5.8.0 目錄
cd /home/hadoop/app/oozie/oozie-4.1.0-cdh5.8.0
# 添加 mysql 驅動
cd /home/hadoop/app/oozie/oozie-4.1.0-cdh5.8.0/libext
rz mysql-connector-java-5.0.8-bin.jar
# 添加 mysql 驅動
cd /home/hadoop/app/oozie/oozie-4.1.0-cdh5.8.0/lib
rz mysql-connector-java-5.0.8-bin.jar
5、配置oozie-site.xml
進入/home/hadoop/app/oozie/oozie-4.1.0-cdh5.8.0/conf目錄:
<?xml version="1.0"?>
<configuration>
<property>
<name>oozie.service.HadoopccessorService.hadoop.configurations</name>
<value>*=/home/hadoop/app/hadoop/hadoop-2.6.5</value>
<description>hadoop 安裝路徑</description>
</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:mysql://192.168.129.13:3306/oozie?characterEncoding=utf-8</value>
<description>配置 jdbc</description>
</property>
<property>
<name>oozie.service.JPAService.jdbc.username</name>
<value>root</value>
</property>
<property>
<name>oozie.service.JPAService.jdbc.password</name>
<value>123456</value>
</property>
<property>
<name>oozie.service.ProxyUserervic.proxyuser.hadoop.hosts</name>
<value></value>
</property>
<property>
<name>oozie.service.ProxyUserervic.proxyuser.hadoop.groups</name>
<value></value>
</property>
<property>
<name>oozie.service.HadoopAccessorService.jobTracker.whitelist</name>
<value></value>
<description>whitelisted job tracker for oozie service</description>
</property>
<property>
<name>oozie.service.HadoopAccessorService.nameNode.whitelist</name>
<value></value>
<description>whitelisted job tracker for oozie service</description>
</property>
<property>
<name>oozie.service.WorkflowAppService.system.libpath</name>
<value>/user/hadoop/share/lib</value>
<description>hdfs 保存 lib 位置</description>
</property>
</configuration>
6、在mysql中創建oozie數據庫
mysql -uroot -p123456
create database oozie;
7、執行oozie命令
進入/home/hadoop/app/oozie/oozie-4.1.0-cdh5.8.0目錄,執行如下命令生成數據:
bin/oozie-setup.sh db create -run oozie.sql
8、用setup命令生成war包
進入/home/hadoop/app/oozie/oozie-4.1.0-cdh5.8.0目錄,執行如下命令生成數據:
bin/oozie-setup.sh prepare-war
9、將當前目錄包上傳到hdfs上
進入/home/hadoop/app/oozie/oozie-4.1.0-cdh5.8.0目錄,執行如下命令生成數據:
bin/oozie-setup.sh sharelib create -fs hdfs://master01:8020 -locallib oozie-sharelib-4.1.0-cdh5.8.0-yarn.tar.gz
10、啓動oozie
bin/oozied.sh start