離線數據分析平臺實戰——170Oozie介紹及環境搭建
Oozie介紹
Oozie是一個工作流引擎服務器,用于運行Hadoop Map/Reduce和Hive等任務工作流.
同時Oozie還是一個Java Web程序,運行在Java Servlet容器中,如Tomcat中。
Oozie以action為基本任務單位,可以將多個action構成一個DAG圖(有向無環圖Direct Acyclic Graph)的模式進行運行。
Oozie工作流通過HPDL(一種通過XML自定義處理的語言)來構造Oozie的工作流。
一個oozie服務器主要包括四個服務:Oozie Workflow、Oozie Coordinator、Oozie Bundle和Oozie SLA(oozie服務器等級協定)。
Oozie四大組件服務介紹
Oozie Workflow: 該組件用于定義和執行一個特定順序的mapreduce、hive和pig作業。
Oozie Coordinator:該組件用于支持基于事件、系統資源存在性等條件的workflow的自動化執行。
Oozie Bundle:該引擎可以定義和執行"一束"應用,從而提供一個批量化的方法,將一組Coordinator應用程序一起進行管理。
Oozie服務器等級協定(Service Level Agreement, SLA):該組件支持workflow應用程序執行過程的記錄跟蹤。
Oozie安裝介紹
Oozie使用tomcat等服務器作為web界面展示容器,使用關系型數據庫存儲oozie的工作流元數據,默認使用debry,由于debry的缺點,一般情況使用mysql作為oozie的元數據庫,使用extjs來作為報表展示js框架。
安裝步驟:
- 安裝mysql
- 安裝tomcat
- 安裝oozie
Tomcat安裝
安裝步驟:
- 下載tomcat壓縮包: wget http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.8/bin/apache-tomcat-7.0.8.tar.gz
- 解壓壓縮包
- 設置環境變量
- 啟動tomcat測試是否安裝成功。
Oozie安裝
安裝步驟:
- 下載oozie安裝包和ext-2.2.zip。
- 設置用戶環境變量。
- 修改conf/oozie-site.xml文件進行配置信息修改。
- 在oozie根目錄下創建libext文件夾,并將oozie依賴的其他第三方jar移動到該目錄下。
- 創建oozie元數據庫。
- 設置hadoop代理用戶。
- 在hdfs上設置oozie的公用jar文件夾。
- 創建oozie的war文件。
- 運行oozie并檢查是否安裝成。