Hadoop離線 oozie的任務排程

2021-10-19 15:01:55 字數 3305 閱讀 1023

1.任務排程

在oozie當中,主要是通過coordinator 來實現任務的定時排程,與workflow類似的,coordinator 這個模組也是主要通過xml來進行配置即可,接下來就來看看如何配置coordinator 來實現任務的定時排程

coordinator 的排程主要可以有兩種實現方式

1.基於時間的定時任務排程

oozie基於時間的排程主要需要指定三個引數,第乙個起始時間,第二個結束時間,第三個排程頻率

2.基於資料的任務排程

只有在有了資料才會去出發執行

這種是基於資料的排程,只要在有了資料才會觸發排程任務

2.oozie當中定時任務的設定

2.1 拷貝定時任務的排程模板

解壓examples.tar.gz在官方自帶的examples檔案目錄下拷貝

cd /export/servers/oozie-4.1.0-cdh5.14.0
2.2 拷貝hello.sh指令碼

cd /export/servers/oozie-4.1.0-cdh5.14.0/oozie_works

cp shell/hello.sh cron-job/

2.3 修改配置檔案

(1) 修改job.properties

cd /export/servers/oozie-4.1.0-cdh5.14.0/oozie_works/cron-job

vim job.propertiesame

node

/use

r/

/user/

nameno

de/u

ser/

/$/cron-job/workflow.xml

namenode=hdfs://node01:8020

jobtracker=node01:8032

queuename=default

examplesroot=oozie_works

start=2018-08-22t19:20+0800

end=2019-08-22t19:20+0800

exec=hello.sh

(2) 修改coordinator.xml

vim coordinator.xml

name

="cron-job"

frequency

="$"

start

="$"

end="$"

timezone

="gmt+0800"

xmlns

="uri:oozie:coordinator:0.4"

>

>

>

>

>

>

>

>

jobtrackername

>

>

$value

>

property

>

>

>

namenodename

>

>

$value

>

property

>

>

>

queuenamename

>

>

$value

>

property

>

configuration

>

workflow

>

action

>

>

oozie的frequency 可以支援很多表示式,其中可以通過定時每分,或者每小時,或者每天,或者每月進行執行,也支援可以通過與linux的crontab表示式類似的寫法來進行定時任務的執行

例如frequency 也可以寫成以下方式

frequency=「10 9 * * *」 每天上午的09:10:00開始執行任務

frequency=「0 1 * * *」 每天凌晨的01:00開始執行任務

(3) 修改workflow.xml

vim workflow.xml

xmlns

="uri:oozie:workflow:0.5"

name

="one-op-wf"

>

"action1"

/>

name

="action1"

>

xmlns

="uri:oozie:shell-action:0.2"

>

>

$job-tracker

>

>

$name-node

>

>

>

>

mapred.job.queue.namename

>

>

$value

>

property

>

configuration

>

>

$exec

>

>

/user/root/oozie_works/cron-job/$#$file

>

/>

shell

>

"end"

/>

"end"

/>

action

>

name

="end"

/>

>

2.4 上傳到hdfs對應路徑

cd /export/servers/oozie-4.1.0-cdh5.14.0/oozie_works

hdfs dfs -put cron-job/ /user/root/oozie_works/

2.5 執行定時任務

Hadoop高階程式設計之 Oozie

利用apache oozie workflow引擎,可以解決基於特定時間,特定時間,特定資源的一組mapreduce作業。oozie主要由下面4個功能元件構成 1,oozie workflow 該元件用於定義和執行乙個特定順序的mapreduce,hive和pig作業。2,oozie coordin...

Hadoop離線專案處理流程

1.企業級專案開發流程 綠色字型 紅色字型 粉色字型 藍色字型 專案調研 技術?業務?產品經理 非常熟悉業務 專案經理 需求分析 做什麼 做成什麼樣 使用者提出來的 顯式 隱式方案設計 概設詳設 系統設計 功能開發 開發測試 單元測試 cicd 測試 功能 聯調效能 使用者 試用 部署上線 試執行 ...

Hadoop離線基礎總結 HDFS詳細介紹

分布式檔案系統設計思路 為了解決資料丟失的問題,引入副本機制,保證資料不會丟失 如果對檔案進行切塊儲存,那麼元資料資訊又要繼續變化 blk元資料資訊的記錄 blk 00001 node01 node03 export servers blk 00001 blk 00002 node02 node01...