oozie的簡易安裝


1. 解壓  tar -zxvf oozie-4.0.0-cdh5.3.6.tar.gz 

2.配置hadoop的集群,添加一個代理用戶(給oozie運行mapreduce的權限) 

 在hadoop的core-site.xml配置文件中添加 (要在hadoop啟動之前添加)    root  可以改成 當前操作系統的用戶  eg:beifeng

 1     <!-- OOZIE 添加代理-->
 2     <property>
 3         <!-- OOZIE 的啟動用戶-->
 4         <name>hadoop.proxyuser.root.hosts</name>
 5         <!-- OOZIE 所在的主機-->
 6         <value>hadoop</value>
 7     </property>
 8     <property>
 9         <!-- OOZIE 用戶的組-->
10         <name>hadoop.proxyuser.root.groups</name>
11         <value>*</value>
12     </property>

配置 oozie 的配置文件  oozie-site.xml

 

 

 

3.解壓   oozie-hadooplibs-4.0.0-cdh5.3.6.tar.gz

 多了一個文件

 

jar包存放位置 /opt/cdh-5.3.6/oozie-4.0.0-cdh5.3.6/oozie-4.0.0-cdh5.3.6/hadooplibs/hadooplib-2.5.0-cdh5.3.6.oozie-4.0.0-cdh5.3.6

4:拷貝jar至 libxt目錄下

5:把ext.zip拷貝到剛創建的libxt目錄下

6:運行oozie-setup.sh腳本的所有組件配置Oozie添加到libext /目錄。

 語法: 

1 $ bin/oozie-setup.sh prepare-war [-d directory] [-secure]
2            sharelib create -fs <FS_URI> [-locallib <PATH>]
3            sharelib upgrade -fs <FS_URI> [-locallib <PATH>]
4            db create|upgrade|postupgrad -run [-sqlfile <FILE>]

將jar包導成war包

1 bin/oozie-setup.sh prepare-war -d /opt/cdh-5.3.6/oozie-4.0.0-cdh5.3.6/libxt

 

7:啟動hadoop  創建一個hdfs目錄oozie共享包  /user/root/share/lib/lib_20171214123146

1 bin/oozie-setup.sh sharelib create -fs hdfs://hadoop -locallib oozie-sharelib-4.0.0-cdh5.3.6-yarn.tar.gz

 

(ps:如果已經存在直接使用upgrade更新最新的lib    bin/oozie-setup.sh sharelib upgrade -fs hdfs://hadoop -locallib oozie-sharelib-4.0.0-cdh5.3.6-yarn.tar.gz

 

8:創建數據庫

1 bin/ooziedb.sh create -sqlfile oozie.sql -run DB Connection

 

9:啟動oozie

1 *在控制台啟動
2 bin/oozied.sh run
3 *在后台啟動
4 bin/oozied.sh start | stop

多了一個

 

10:oozie的日志目錄

1 more /opt/cdh-5.3.6/oozie-4.0.0-cdh5.3.6/logs/oozie.log

補充一下 more的用法 

 

 11:訪問 web端   http://hadoop:11000/oozie/

12:運行 example application

 1) 解壓 

oozie-examples.tar.gz
1 tar -zxf oozie-examples.tar.gz

2) 上傳examples至hdfs用戶主目錄下

1  /opt/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6/bin/hadoop dfs -put examples examples

   注意:這里本地的/cdh-5.3.6/oozie-4.0.0-cdh5.3.6/examples/apps/*里面的文件發生變化不用同步到hdfs的文件中

 3)  修改job.properties

oozie-4.0.0-cdh5.3.6/examples/apps/map-reduce/job.properties

1 #jobTracker=hadoop:8032 yrc是resourcemanager的ha cluster-id
2 jobTracker=yrc
3 # 隊列 yarn的資源是按隊列分配的
4 queueName=default
5 examplesRoot=examples
6 
7 #定義一個workflow工作流的路徑,一個路徑下只能有一個workflow.xml
8 oozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot}/apps/map-reduce/workflow.xml
9 outputDir=map-reduce

 

4)運行job
###方法一 直接使用-oozie http://localhost:11000/oozie

1 bin/oozie job -oozie http://localhost:11000/oozie -config examples/apps/map-reduce/job.properties -run

 

###方法二 配置環境變量

1 export OOZIE_URL=http://localhost:11000/oozie
2 bin/oozie job -config examples/apps/map-reduce/job.properties -run

出現兩個任務的原因是 oozie本身就是一個MapReduce 它又運行了一個MapReduce程序所以會有兩個任務

 

 

 

 

 也可以在命令行查看結果

1 bin/oozie job --oozie http://localhost:11000/oozie -config examples/apps/map-reduce/job.properties -info 0000000-170205191208965-oozie-chk-W

這個博客里面詳細的介紹了 oozie運行時的一些錯誤場景以及解決方案

1  http://blog.csdn.net/wiborgite/article/details/78585689

 

 

(4)oozie本身是一個MapReduce程序,僅僅只有Map Task。
          針對不同類型的任務,workflow,模板
(5)workflow action nodes
          *actions可以計算處理,運行在框架(遠程)
          *actions是異步的
          *actions有兩個狀態:要么成功(ok)要么失敗(error)
          *actions可以自動恢復
(6)如何定義一個WorkFlow

          * job.properties
                關鍵點:指向workflow.xml文件所在的HDFS位置
         * workflow.xml
               定義文件
               XML文件
                  包含幾點
                        * start
                        * action
                              MapReduce、Hive、Sqoop、Shell
                             * ok
                             * error
                       * kill
                      * end
        * lib 目錄
              依賴的jar包

  workflow.xml編寫:
       * 流程控制節點
      * Action節點
   注意:節點名稱必需復合 [a-zA-Z][\-_a-zA-Z0-0]* ,最大20個字符

 


免責聲明!

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



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