標籤:
什麼是Oozie?
Oozie是一種Java Web應用程式,它運行在Java servlet容器——即Tomcat——中,並使用資料庫來儲存以下內容:
- 工作流程定義
- 當前啟動並執行工作流程執行個體,包括執行個體的狀態和變數
Oozie工作流程是放置在控制依賴DAG(有向非循環圖 Direct Acyclic Graph)中的一組動作(例如,Hadoop的Map/Reduce作業、Pig作業等),其中指定了動作執行的順序。我們會使用hPDL(一種XML流程定義語言)來描述這個圖。
修改HDFS配置: 修改hadoop core-site.xml,內容如下:
<property> <name>hadoop.proxyuser.[USER].hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.[USER].groups</name> <value>*</value> </property>
其中,[USER]需要改為後面啟動oozie tomcat的使用者不重啟hadoop叢集,而使配置生效
hdfs dfsadmin -refreshSuperUserGroupsConfiguration yarn rmadmin -refreshSuperUserGroupsConfiguration
配置Oozie(由於是在bs035上部署oozie,所以把下面的壓縮包拷貝到bs035上) 1) 取得壓縮包:
oozie-4.1.0/distro/target/oozie-4.1.0-distro.tar.gz
2) 解壓縮:
tar -zxf oozie-4.1.0-distro.tar.gz 3)在oozie-4.2.0目錄下建立libext目錄,並把
ext-2.2.zip 拷貝到該目錄下;
並拷貝hadoop相關jar包到該目錄下
cp $HADOOP_HOME/share/hadoop/*/*.jar libext/
cp $HADOOP_HOME/share/hadoop/*/lib/*.jar libext/
把hadoop與tomcat衝突jar包去掉
mv servlet-api-2.5.jar servlet-api-2.5.jar.bak
mv jsp-api-2.1.jar jsp-api-2.1.jar.bak
mv jasper-compiler-5.5.23.jar jasper-compiler-5.5.23.jar.bak
mv jasper-runtime-5.5.23.jar jasper-runtime-5.5.23.jar.bak
拷貝mysql驅動到該目錄下(使用mysql資料庫,預設是derby)
scp mysql-connector-java-5.1.25-bin.jar node3:/usr/oozie/oozie-4.2.0/libext/ 4)設定資料庫串連,檔案是conf/oozie-site.xml
<property> <name>oozie.service.JPAService.create.db.schema</name> <value>true</value></property><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://bs035.zx.nicx.cn:3306/oozie?createDatabaseIfNotExist=true</value></property><property> <name>oozie.service.JPAService.jdbc.username</name> <value>hive</value></property><property> <name>oozie.service.JPAService.jdbc.password</name> <value>hive</value></property><property> <name>oozie.service.HadoopAccessorService.hadoop.configurations</name> <value>*=/home/manual/module/hadoop-2.6.0-cdh5.4.0/etc/hadoop</value></property>
最後一個配置,是需要配置的,不然後面運行調度的時候,任務會報File /user/root/share/lib does not exist 的錯誤 5)啟動前的初始化a. 打war包
bin/oozie-setup.sh prepare-war
b. 初始化資料庫
bin/ooziedb.sh create -sqlfile oozie.sql -run
c. 修改oozie-4.2.0/oozie-server/conf/server.xml檔案,注釋掉下面的記錄
<!--<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />-->
d. 上傳jar包
bin/oozie-setup.sh sharelib create -fs hdfs://bs035.zx.nicx.cn:8020 -locallib oozie-sharelib-4.1.0-cdh5.4.0-yarn.tar.gz bin/oozie-setup.sh sharelib create -fs hdfs://bs035.zx.nicx.cn:8020 -locallib oozie-sharelib-4.1.0-cdh5.4.0.tar.gz 啟動bin/oozied.sh start 【轉自】http://www.open-open.com/lib/view/open1453606606995.html更進一步的介紹,見上述網站。
【轉】Oozie4.2.0配置安裝實戰