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