黑猴子的家:Oozie CDH版本部署

oozie 的使用 最好使用cdh,各框架兼容性好的, 如果使用apache 版本, 需要逛逛apache社區(qū),看看個框架的版本依賴,最好不要跨版本號依賴,解決兼容性問題是很頭疼的問題

大數(shù)據(jù)框架中,oozie 是比較復雜的, 尤其是部署的時候
定時調(diào)度任務框架有
Azkaban Azkaban部署起來 非常簡單, 是最簡單的
crontab 滴滴公司就是用的crontab 輕量級
oozie 是最強大的 ,部署的時候, 細節(jié)很重要

1、解壓Oozie

[victor@node1 software]$ tar -xzvf oozie-4.0.0-cdh5.3.6.tar.gz  -C /opt/module

2、修改Hadoop配置文件,添加Oozie相關(guān)配置

oozie是有用戶的,默認用戶就是oozie

core-site.xml

<!-- Oozie Server的Hostname -->
## 允許哪些框架被oozie 代理victor用戶去操作hadoop,victor修改成自己的用戶名
<property>
    <name>hadoop.proxyuser.victor.hosts</name>
    <value>*</value>
</property>

<!-- 允許被Oozie代理的用戶組 -->
## 允許oozie 代理victor用戶去操作hadoop,victor修改成自己的用戶名
<property>
    <name>hadoop.proxyuser.victor.groups</name>
    <value>*</value>
</property>

mapred-site.xml

使用oozie框架,一定要配置jobhistory  server
<!-- 配置 MapReduce JobHistory Server 地址 ,默認端口10020 -->
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>hadoop102:10020</value>
</property>

<!-- 配置 MapReduce JobHistory Server web ui 地址, 默認端口19888 -->
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hadoop102:19888</value>
</property>

yarn-site.xml

<!-- 任務歷史服務 -->
<property> 
    <name>yarn.log.server.url</name> 
    <value>http://hadoop102:19888/jobhistory/logs/</value> 
</property>

完成后:記得scp同步到其他機器節(jié)點

3、啟動Hadoop集群

[victor@node1 hadoop]$ sbin/start-dfs.sh
[victor@node1 hadoop]$ sbin/start-yarn.sh
[victor@node1 hadoop]$ sbin/mr-jobhistory-daemon.sh  start  historyserver

尖叫提示:需要開啟JobHistoryServer, 最好執(zhí)行一個MR任務進行測試。

4、在oozie根目錄下,解壓hadooplibs

[victor@node1 oozie]$ tar -xzvf oozie-hadooplibs-4.0.0-cdh5.3.6.tar.gz -C ../

完成后Oozie目錄下會出現(xiàn)hadooplibs目錄。目的是把解壓后的hadooplibs文件夾,放到oozie目錄下

5、在Oozie目錄下創(chuàng)建libext目錄

[victor@node1 oozie]$ mkdir libext/

6、拷貝一些依賴的Jar包

1) 將hadooplibs里面的jar包,拷貝到libext目錄下

[victor@node1 oozie]$ cp -ra hadooplibs/hadooplib-2.5.0-cdh5.3.6.oozie-4.0.0-cdh5.3.6/* libext/

2) 拷貝Mysql驅(qū)動包到libext目錄下
oozie 的 元數(shù)據(jù)保存在mysql 中 ,默認derby

[victor@node1 oozie]$ cp -a mysql-connector-java-5.1.27-bin.jar libext/

7、將ext-2.2.zip拷貝到自己創(chuàng)建的libext/目錄下

ext是一個js框架,用于展示oozie前端頁面

[victor@node1 oozie]$ cp -a ext-2.2.zip libext/

8、修改Oozie配置文件

oozie-site.xml

[victor@node1 oozie]$ vim conf/oozie-site.xml

    <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://hadoop102: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>000000</value>
    </property>

    <property>
        <name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
        <value>*=/opt/module/cdh/hadoop-2.5.0-cdh5.3.6/etc/hadoop</value>
        <description>讓Oozie引用Hadoop的配置文件“*=”不能刪</description>
    </property>

9、在Mysql中創(chuàng)建Oozie的數(shù)據(jù)庫

[victor@node1 oozie]$ mysql -uroot -p000000
mysql> create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

10、初始化Oozie

1)上傳Oozie目錄下的yarn.tar.gz文件到HDFS

[victor@node1 oozie]$ bin/oozie-setup.sh sharelib create -fs \
hdfs://hadoop102:9000 -locallib oozie-sharelib-4.0.0-cdh5.3.6-yarn.tar.gz

尖叫提示:yarn.tar.gz文件會自行解壓
命令的意思是把這個oozie-sharelib-4.0.0-cdh5.3.6-yarn.tar.gz 包 解壓出來,放到hdfs上面
以wordcount案例,oozie作為定時調(diào)度框架,必須先把w..t.jar上傳到hdfs,oozie才有能力去 調(diào)度它,放到本地是不行的
執(zhí)行成功之后,去50070檢查對應目錄有沒有文件生成。
/user/victor/share/lib/lib_20180208085236

2) 創(chuàng)建oozie.sql文件

[victor@node1 oozie]$ bin/oozie-setup.sh db create -run -sqlfile oozie.sql

操作的時候, mysql一定要有oozie這個數(shù)據(jù)庫
在oozie這個庫里面,創(chuàng)建了一系列的表

3) 打包項目,生成war包

[victor@node1 oozie]$ bin/oozie-setup.sh prepare-war

11、啟動Oozie服務

[victor@node1 oozie]$ bin/oozied.sh start

如需正常關(guān)閉Oozie服務,請使用
[victor@node1 oozie]$ bin/oozied.sh stop

12、訪問Oozie的Web頁面

看到的web頁面, 依賴ext-2.2.zip這個js框架
http://linux01:11000/oozie

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容