大數據開發之Oozie基本知識點

Oozie

     一、理性認知

       英文釋義

           馴象人

       簡介

           一個基於工作流引擎的開源框架,由cloudera公司貢獻給Apache,提供對hadoop,MapReduce,Pig jobs的任務調度與協調。Oozie需要部署到java Servlet容器中運行

       在集羣中扮演的角色

           定時調度任務,多任務可以按照執行的邏輯順序調度

       功能模塊

           1、Workflow

                 順序執行流程節點,支持fork(分支多個節點),join(合併多個節點爲一個)

           2、Coordinator

                 定時觸發workflow

           3、Bundle Job

                 綁定多個Coordinator

       Oozie的節點

           1、控制流節點(Control Flow Nodes)

                 控制流節點一般都是定義在工作流開始或結束的位置,比如start,end,kill等。以及提供工作流的執行路徑機制,如decision,fork,join等

           2、動作節點(Action Nodes)

                 就是執行具體任務動作的節點

           其他

                 azkaban,宙斯

     二、安裝與部署

      1、解壓Oozie

      2、hadoop配置文件修改,完成後scp到其他節點

           1)hadoop配置core-site.xml

                 hadoop.proxyuser.root.hosts --->  *

                 允許被oozie代理的用戶組hadoop.proxyuser.root.groups ---> *

           2)mapred-site.xml配置JobHistoryServer服務(必須)

                 配置MapReduce JobHistory Server地址,默認端口10020

                 <name>mapreduce.jobhistory.address</name>

                           <value>hlh001:10020</value>

 

                 配置MapReduce JobHistory Server web ui地址,默認端口19888

                            <name>mapreduce.jobhistory.webapp.address</name>

                            <value>hlh001:19888</value>

           3)yarn-site.xml

                 任務歷史服務

                      <name>yarn.log.server.url</name>

                             <value>http://hlh001:19888/jobhistory/logs</value>

      3、開啓hadoop集羣

           需要配合開啓jobhistory

                 最好執行一個MR任務進行測試

      4、解壓oozie-hadooplibs

           完成後Oozie目錄下會出現hadooplibs目錄

      5、在Oozie目錄下創建libext目錄

      6、拷貝一些依賴的jar包

           將hadooplibs裏面的jar包拷貝到libext目錄下

           拷貝mysql驅動包到libext目錄下

      7、將ext.zip拷貝到libext目錄下

      8、修改Oozie配置文件

           Oozie.site.xml

<name>oozie.service.JPAService.jdbc.driver</name>         <value>com.mysql.jdbc.Driver</value>

                 jdbc驅動

<name>oozie.service.JPAService.jdbc.url</name>     <value>jdbc:mysql://192.168.122.20:3306/oozie</value>

 

                 mysql的Oozie數據庫的配置

                       <name>oozie.service.JPAService.jdbc.username</name>  

                <value>root</value>

                 數據庫用戶名

<name>oozie.service.JPAService.jdbc.password</name>     <value>123456</value>

 

                 數據庫密碼

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

<value>*=/opt//opt/module/hadoop-2.7.2/etc/hadoop</value>

                 讓Oozie引用hadoop的配置文件

      9、在mysql中創建Oozie的數據庫

           1)進入數據庫

                 mysql -uroot -proot

           2)創建Oozie數據庫

                 create database oozie;

      10、初始化oozie的配置

           1)上傳oozie目錄下的yarn.tar.gz文件到HDFS(提示:yarn.tar.gz文件會自動解壓)

                 bin/oozie-setup.sh sharelib creat -fs hdfs://hlh001:8020 -locallib 文件

           2)創建oozie.sql文件

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

           3)打包項目,生成war包

                 bin/oozie-setup.sh prepare-war

      11、啓動關閉

           bin/oozied.sh start

           bin/ooied.sh stop

      12、訪問oozie的web頁面

           http://hlh001:11000/oozie

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