oozie安裝總結


偶然的機會,去面試的時候聽面試官講他們的調度系統是基於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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM