Oozie --入門安裝介紹

Oozie的介紹

Oozie是運行在hadoop平臺上的一種工作流調度引擎,它可以用來調度與管理hadoop任務,如,MapReduce、Pig等。

oozie的組件介紹

workFlow:工作流,定義工作流任務的執行,主要由一個個的action組成,每個action都是一個任務,在xml中進行配置即可

Coordinator :協作器,可以理解爲工作流的協調器,可以將多個工作流協調成一個工作流來進行處理。也是oozie當中的定時任務調度的模塊,

Bundle :捆,束。多個Coordinator 的抽象,可以通過bundle將多個Coordinator 進行組裝集合起來,形成一個bundle

 

oozie的架構

 

oozie的安裝

第一步:修改core-site.xml

修改core-site.xml添加我們hadoop集羣的代理用戶

cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop

vim  core-site.xml  
<property>

<name>hadoop.proxyuser.root.hosts</name>

<value>*</value>

</property>

<property>

<name>hadoop.proxyuser.root.groups</name>

<value>*</value>

</property>

注意:hadoop的歷史任務的服務必須啓動,即19888端口可以查看,具體如何配置19888請查看hadoop課程的環境搭建

修改完成之後,記得重啓hadoop的hdfs與yarn集羣,還要記得啓動jobhistory

重啓hdfs與yarn集羣

cd /export/servers/hadoop-2.6.0-cdh5.14.0

sbin/stop-dfs.sh

sbin/start-dfs.sh

sbin/stop-yarn.sh

sbin/start-yarn.sh

 

第二步:上傳oozie的安裝包並解壓

將oozie的安裝包上傳到/export/softwares

cd /export/softwares/

tar -zxvf oozie-4.1.0-cdh5.14.0.tar.gz -C ../servers/

 

第三步:解壓hadooplibs到oozie平行的目錄

cd /export/servers/oozie-4.1.0-cdh5.14.0

tar -zxvf oozie-hadooplibs-4.1.0-cdh5.14.0.tar.gz -C ../

 

第四步:創建libext目錄

在oozie的安裝路徑下創建libext目錄

cd /export/servers/oozie-4.1.0-cdh5.14.0

mkdir -p libext

 

第五步拷貝依賴包到libext

拷貝一些依賴包到libext目錄下面去

拷貝所有的依賴包

cd /export/servers/oozie-4.1.0-cdh5.14.0

cp -ra hadooplibs/hadooplib-2.6.0-cdh5.14.0.oozie-4.1.0-cdh5.14.0/* libext/

拷貝mysql的驅動包

cp /export/servers/hive-1.1.0-cdh5.14.0/lib/mysql-connector-java-5.1.38.jar /export/servers/oozie-4.1.0-cdh5.14.0/libext/

第六步添加ext-2.2.zip壓縮包

拷貝ext-2.2.zip這個包到libext目錄當中去

將我們準備好的軟件ext-2.2.zip拷貝到libext目錄當中去

 

第七步修改oozie-site.xml

cd /export/servers/oozie-4.1.0-cdh5.14.0/conf

vim oozie-site.xml

如果沒有這些屬性,直接添加進去即可,oozie默認使用的是UTC的時區,我們需要在我們oozie-site.xml當中記得要配置時區爲GMT+0800時區

<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://node03.hadoop.com: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>123456</value>

    </property>



<property>

<name>oozie.processing.timezone</name>

<value>GMT+0800</value>

</property>





<property>

<name>oozie.service.ProxyUserService.proxyuser.hue.hosts</name>

        <value>*</value>

    </property>





    <property>   <name>oozie.service.ProxyUserService.proxyuser.hue.groups</name>

        <value>*</value>

    </property>



<property>

        <name>oozie.service.coord.check.maximum.frequency</name>

<value>false</value>

    </property>     





<property>

<name>oozie.service.HadoopAccessorService.hadoop.configurations</name>

        <value>*=/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop</value>

    </property>

第八步:創建mysql數據庫

mysql -uroot -p

create database oozie;

 

第九步:上傳oozie依賴的jar包到hdfs上面去

上傳oozie的解壓後目錄的yarn.tar.gz到hdfs目錄去

bin/oozie-setup.sh  sharelib create -fs hdfs://node01:8020 -locallib oozie-sharelib-4.1.0-cdh5.14.0-yarn.tar.gz

實際上就是將這些jar包解壓到了hdfs上面的路徑下面去了

第十步:創建oozie的數據庫

cd /export/servers/oozie-4.1.0-cdh5.14.0

bin/oozie-setup.sh  db create -run -sqlfile oozie.sql

第十一步:打包項目,生成war包

cd /export/servers/oozie-4.1.0-cdh5.14.0

bin/oozie-setup.sh  prepare-war

 

第十二步:配置oozie的環境變量

vim /etc/profile
export OOZIE_HOME=/export/servers/oozie-4.1.0-cdh5.14.0

export OOZIE_URL=http://node03.hadoop.com:11000/oozie

export PATH=:$OOZIE_HOME/bin:$PATH

source /etc/profile

 

第十三步:啓動與關閉oozie服務

啓動命令

cd /export/servers/oozie-4.1.0-cdh5.14.0

bin/oozied.sh start

關閉命令

bin/oozied.sh stop

 

第十四步:瀏覽器頁面訪問oozie

http://node03:11000/oozie/

 

解決oozie的頁面的時區問題:

我們頁面訪問的時候,發現oozie使用的還是GMT的時區,與我們現在的時區相差一定的時間,所以我們需要調整一個js的獲取時區的方法,將其改成我們現在的時區

 

修改js當中的時區問題

cd /export/servers/oozie-4.1.0-cdh5.14.0/oozie-server/webapps/oozie

vim oozie-console.js
function getTimeZone() {

    Ext.state.Manager.setProvider(new Ext.state.CookieProvider());

    return Ext.state.Manager.get("TimezoneId","GMT+0800");

}

重啓oozie即可

cd /export/servers/oozie-4.1.0-cdh5.14.0

關閉oozie服務

bin/oozied.sh stop

啓動oozie服務

bin/oozied.sh start

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章