教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Apache Oozie安裝圖文教程

更新時間:2021年10月21日14時04分 來源:傳智教育 瀏覽次數(shù):

1. 修改hadoop相關配置


1.1. 配置httpfs服務

修改hadoop的配置文件core-site.xml

<property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
</property>

hadoop.proxyuser.root.hosts 允許通過httpfs方式訪問hdfs的主機名、域名;

hadoop.proxyuser.root.groups允許訪問的客戶端的用戶組


1.2. 配置jobhistory服務

修改hadoop的配置文件mapred-site.xml

<property>
  <name>mapreduce.jobhistory.address</name>
  <value>node-1:10020</value>
  <description>MapReduce JobHistory Server IPC host:port</description>
</property>
 
<property>
  <name>mapreduce.jobhistory.webapp.address</name>
  <value>node-1:19888</value>
  <description>MapReduce JobHistory Server Web UI host:port</description>
</property>
<!-- 配置運行過的日志存放在hdfs上的存放路徑 -->
<property>
    <name>mapreduce.jobhistory.done-dir</name>
    <value>/export/data/history/done</value>
</property>
 
<!-- 配置正在運行中的日志在hdfs上的存放路徑 -->
<property>
    <name>mapreduce.jobhistory.intermediate-done-dir</name>
    <value>/export/data/history/done_intermediate</value>
</property>

啟動history-server

mr-jobhistory-daemon.sh start historyserver

停止history-server

mr-jobhistory-daemon.sh stop historyserver

通過瀏覽器訪問Hadoop Jobhistory的WEBUI

http://node-1:19888

1.3. 重啟Hadoop集群相關服務


2. 上傳oozie的安裝包并解壓

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

tar -zxvf oozie-4.1.0-cdh5.14.0.tar.gz

解壓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 ../

3. 添加相關依賴

oozie的安裝路徑下創(chuàng)建libext目錄

cd /export/servers/oozie-4.1.0-cdh5.14.0
mkdir -p libext

拷貝hadoop依賴包到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的驅動包到libext

mysql-connector-java-5.1.32.jar

添加ext-2.2.zip壓縮包到libext

ext-2.2.zip

4. 修改oozie-site.xml

cd /export/servers/oozie-4.1.0-cdh5.14.0/conf
vim oozie-site.xml

oozie默認使用的是UTC的時區(qū),需要在oozie-site.xml當中配置時區(qū)為GMT+0800時區(qū)

<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://node-1: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>hadoop</value>
</property>
<property>
    <name>oozie.processing.timezone</name>
    <value>GMT+0800</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.7.5/etc/hadoop</value>
</property>

5.初始化mysql相關信息

上傳oozie的解壓后目錄的下的yarn.tar.gz到hdfs目錄

bin/oozie-setup.sh  sharelib create -fs hdfs://node-1:9000 -locallib oozie-sharelib-4.1.0-cdh5.14.0-yarn.tar.gz

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

mysql數(shù)據(jù)庫

創(chuàng)建mysql數(shù)據(jù)庫

mysql -uroot -p
create database oozie;

初始化創(chuàng)建oozie的數(shù)據(jù)庫表

cd /export/servers/oozie-4.1.0-cdh5.14.0
bin/oozie-setup.sh  db create -run -sqlfile oozie.sql
初始化oozie數(shù)據(jù)表

03oozie的數(shù)據(jù)庫表

6. 打包項目,生成war包

cd /export/servers/oozie-4.1.0-cdh5.14.0
bin/oozie-setup.sh  prepare-war
生成war包

7. 配置oozie環(huán)境變量

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=$PATH:$OOZIE_HOME/bin
source /etc/profile

8. 啟動關閉oozie服務

啟動命令

cd /export/servers/oozie-4.1.0-cdh5.14.0
bin/oozied.sh start

關閉命令

bin/oozied.sh stop

關閉oozie服務


啟動的時候產(chǎn)生的 pid文件,如果是kill方式關閉進程 則需要刪除該文件重新啟動,否則再次啟動會報錯。


9. 瀏覽器webUI頁面

http://node-1:11000/oozie/
web UI頁面

10. 解決oozie頁面時區(qū)顯示異常

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

修改js當中的時區(qū)問題

cd 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
bin/oozied.sh stop
bin/oozied.sh start

Oozie從入門到精通教程

添加QQ435946716,免費獲取【全套Oozie從入門到精通教程+講義】。



猜你喜歡

Oozie是什么?Oozie架構和基本原理介紹

Oozie工作流類型有哪幾種?

黑馬程序員Python+大數(shù)據(jù)開發(fā)課程

0 分享到:
和我們在線交談!