Oozie协作框架
Oozie協作框架
一:概述
1.大數據協作框架
2.Hadoop的任務調度
3.Oozie的三大功能
Oozie Workflow jobs?
Oozie Coordinator jobs
Oozie Bundle
?
4.Oozie的架構
控制流節點
起始,分支,并發,匯合,結束
動作節點action
?
5.Oozie的實現
?
二:安裝部署
1.上傳
?
2.解壓
?
3.配置Hadoop代理core-site.xml
?
4.啟動Hadoop集群
?
5.解壓hadooplib
將會生成:oozie-4.0.0-cdh5.3.6
?
6.生成
?
7.創建libext文件
?
8.拷貝hadooplib的jar包到libext中
?
9.拷貝js包到libext中
?
10.創建sharelib庫:HDFS,用于運行所有job的依賴
bin/oozie-setup.sh sharelib create -fs hdfs://hadoop-senior02.ibeifeng.com:8020 -locallib oozie-sharelib-4.0.0-cdh5.3.6-yarn.tar.gz
? HDFS::
?
11.打包
bin/oozie-setup.sh prepare-war
?
12.初始化數據庫
?
?13.啟動
?
14.web端窗口
?
三:運行官網的任務流
1.解壓家目錄下的oozie-examples.tar.gz
將會生成examples
?
2.進入examples,找到將要運行的mapreduce項目
job.properties:mapreduce運行需要的配置項,指定workflow的地址,申明相關變量
workflow.xml:實際運行的workflow
3.修改job.properties配置項
?
4.修改oozie.site文件
?
5.啟動hadoop,并上傳在家目錄下examples項目
bin/hdfs dfs -put /etc/opt/cdh-5.3.6/oozie-4.0.0-cdh5.3.6/examples examples
?
?6.啟動
bin/oozie ?job -oozie http://linux-hadoop3.ibeifeng.com:11000/oozie -config examples/apps/map-reduce/job.properties -run?
?
7.總結
-》bin/oozie job -oozie http://hadoop-senior02.ibeifeng.com:11000/oozie -config examples/apps/map-reduce/job.properties -run
提交任務
-》oozie讀取job.properties
-》查找需要運行的wf的地址,將相應變量傳遞給wf
-》讀取wf的文件
-》start節點
-》action節點
-》OK-》end
-》error-》kill
-》讀取依賴的jar包
lib目錄
-》sharelib的jar包支持
?
四:自定義wordcount任務流
1.新建目錄
新建application,在下面建項目wc-wf
?
2.檢測wordcount的jar包是否可以使用
3.HDFS上新建input目錄,上傳wc.inpu
4.上傳wc2.jar
目錄/etc/opt/datas
?
5.在yarn上運行
?
6.證明jar包沒有問題
?
7.修改job.properties
?
8.修改workflow.xml
?
?
9.上傳wc2.jar到wc-wf中的lib中
?
10.上傳到HDFS上運行
?bin/hdfs dfs -put /etc/opt/cdh-5.3.6/oozie-4.0.0-cdh5.3.6/applications/wc-wf/ /
?
11.運行
export OOZIE_URL="http://linux-hadoop3.ibeifeng.com:11000/oozie"
bin/oozie ?job ?-config applications/wc-wf/job.properties -run
?
12.結果
?
五:自定義shell action的workflow
1.拷貝官方的shell,并命名為shell-wf
?
?2.修改job.properties
?
3.在shell-wf中新建oozie.sh
?
4.修改workflow.xml
?
5.完成oozie.sh?
?
6.上傳到HDFS
bin/hdfs dfs -put /etc/opt/cdh-5.3.6/oozie-4.0.0-cdh5.3.6/applications/shell-wf/ /applications
?
7.運行
bin/oozie job -config applications/shell-wf/job.properties -run
?
8.結果
?
六:DAG圖的設計
1.拷貝wc-wf,并該名為dag-wf
?
2.將shell-wf中 的.sh拷貝到dag-wf中
?
3.修改job.properties
?
4.修改oozie.sh
?
5.修改workflow.xml
?
6.上傳
bin/hdfs dfs -put /etc/opt/cdh-5.3.6/oozie-4.0.0-cdh5.3.6/applications/dag-wf/ /applications ??
?
7.運行
bin/oozie job -config applications/dag-wf/job.properties -run
?
8.結果
?
9.HDFS上
?
七:修改linux時區
1.查看
?
2.如果不是+0800,則需要重新生成
在linux中刪除:
rm -rf /etc/localtime
重新生成:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
?
3.修改時間
?
4.在oozie.site中修改時區
?
5.在js中修改時區
?
6.重新啟動oozie
?
八:編寫coordinate
1.復制
?
2.修改job.properties
?
3.修改coordinator.xml
?
4.修改oozie.xml
?
5.重啟oozie
?
6.上傳到HDFS
?bin/hdfs dfs -put /etc/opt/cdh-5.3.6/oozie-4.0.0-cdh5.3.6/applications/cron-wf/ /applications
?
7.運行
bin/oozie job -config applications/cron-wf/job.properties -run?
?
8.結果
?
九:支持crontab的任務調度
1.拷貝
?
2.修改job.properties
?
3.修改coordinate
?
4.上傳
bin/hdfs dfs -put /etc/opt/cdh-5.3.6/oozie-4.0.0-cdh5.3.6/applications/crontab/ /applications ??
?
5.運行
bin/oozie ?job ?-config applications/crontab/job.properties -run
?
6.運行結果
?
轉載于:https://www.cnblogs.com/RHadoop-Hive/p/7414008.html
總結
- 上一篇: 初始Angularjs2
- 下一篇: Discuz常见小问题-如何取消登陆发帖