管理工作流定義
本文中含有需要您注意的重要提示信息,忽略該信息可能對(duì)您的業(yè)務(wù)造成影響,請(qǐng)務(wù)必仔細(xì)閱讀。
工作流定義是通過拖拽任務(wù)節(jié)點(diǎn)并建立任務(wù)節(jié)點(diǎn)之間的關(guān)聯(lián)來創(chuàng)建可視化的DAG(有向無環(huán)圖)。本文為您介紹如何創(chuàng)建工作流及工作流定義的相關(guān)操作。
前提條件
已新建項(xiàng)目,詳情請(qǐng)參見管理項(xiàng)目。
創(chuàng)建工作流
進(jìn)入項(xiàng)目管理頁面。
使用阿里云賬號(hào)(主賬號(hào))或RAM用戶登錄E-MapReduce控制臺(tái)。
在左側(cè)導(dǎo)航欄,選擇EMR Workbench > Workflow。
在Workflow頁面,單擊目標(biāo)工作空間操作列的控制臺(tái)。
在項(xiàng)目管理頁面,單擊已有項(xiàng)目的項(xiàng)目名稱。
在左側(cè)導(dǎo)航欄,選擇數(shù)據(jù)開發(fā) > 工作流定義。
在工作流定義頁面,單擊創(chuàng)建工作流。
在創(chuàng)建工作流頁面,拖拽節(jié)點(diǎn)塊到畫布中,在彈出的對(duì)話框中,配置相關(guān)的參數(shù),單擊確定。
本示例以SHELL類型為例,其他任務(wù)類型詳情請(qǐng)參見任務(wù)類型。如需關(guān)聯(lián)手動(dòng)任務(wù),請(qǐng)打開關(guān)聯(lián)手動(dòng)任務(wù)開關(guān),選擇已有的手動(dòng)任務(wù),詳情請(qǐng)參見手動(dòng)任務(wù)快速入門。
參數(shù)
說明
節(jié)點(diǎn)名稱
任務(wù)的名稱。一個(gè)工作流定義中的節(jié)點(diǎn)名稱是唯一的。
運(yùn)行標(biāo)志
正常(默認(rèn)):運(yùn)行工作流時(shí)執(zhí)行該任務(wù)。
禁止執(zhí)行:運(yùn)行工作流不會(huì)執(zhí)行該任務(wù)。
描述
當(dāng)前節(jié)點(diǎn)的功能描述。
任務(wù)優(yōu)先級(jí)
流程運(yùn)行的優(yōu)先級(jí)。支持以下級(jí)別:
HIGHEST:最高。
HIGH:高。
MEDIUM(默認(rèn)):中。
LOW:低。
LOWEST:最低。
失敗重試次數(shù)
工作流運(yùn)行失敗自動(dòng)重試的次數(shù)。
失敗重試間隔
每次失敗重試的間隔。單位:分。
延時(shí)執(zhí)行時(shí)間
延時(shí)執(zhí)行時(shí)間,默認(rèn)為0,即立即執(zhí)行,設(shè)置了該值后才執(zhí)行延時(shí)操作。單位:分。
超時(shí)告警
該開關(guān)默認(rèn)關(guān)閉。打開超時(shí)告警開關(guān),可設(shè)定超時(shí)時(shí)長,并選擇至少一個(gè)超時(shí)策略。
選擇超時(shí)告警策略,當(dāng)任務(wù)運(yùn)行時(shí)長超過設(shè)置的超時(shí)時(shí)長后,系統(tǒng)將向指定的告警組發(fā)送通知。
選擇超時(shí)失敗策略,當(dāng)任務(wù)運(yùn)行時(shí)長超過設(shè)置的超時(shí)時(shí)長后,該任務(wù)實(shí)例會(huì)立即失敗。
任務(wù)提交節(jié)點(diǎn)
調(diào)度資源組節(jié)點(diǎn)(默認(rèn)):任務(wù)在Workflow的調(diào)度資源組節(jié)點(diǎn)提交。
EMR集群worker節(jié)點(diǎn)(提交到Y(jié)arn執(zhí)行):任務(wù)在EMR集群的Worker節(jié)點(diǎn)提交,占用一個(gè)YARN Container。
警告該模式會(huì)直接影響EMR集群的文件系統(tǒng)或運(yùn)行環(huán)境,請(qǐng)謹(jǐn)慎操作。
使用該模式,您還可以選擇配置以下參數(shù):
調(diào)度隊(duì)列:指定任務(wù)提交的YARN隊(duì)列。
任務(wù)執(zhí)行容器內(nèi)存(MB):指定任務(wù)執(zhí)行容器的內(nèi)存。默認(rèn)值為1024。
虛擬核數(shù):指定任務(wù)執(zhí)行容器的虛擬核數(shù)(vCores)。默認(rèn)值為1。
優(yōu)先級(jí):指定任務(wù)執(zhí)行容器的優(yōu)先級(jí)(0-100)。默認(rèn)值為0,數(shù)值越大,優(yōu)先級(jí)越高。
執(zhí)行用戶:默認(rèn)提交任務(wù)的用戶為dolphinscheduler。標(biāo)準(zhǔn)集群(非高安全集群),如果需要設(shè)置執(zhí)行用戶,請(qǐng)確保YARN服務(wù)包含如下配置項(xiàng):
yarn.nodemanager.container-executor.class=org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor
yarn.nodemanager.linux-container-executor.nonsecure-mode.limit-users=false
腳本
您自定義的Shell程序。
資源
選擇任務(wù)執(zhí)行時(shí)所需的資源文件,請(qǐng)確保您已在資源中心的文件管理頁面,創(chuàng)建或者上傳了相應(yīng)的文件。選擇所需文件后,您可以在任務(wù)腳本中通過完整路徑引用它們。例如,
path/to/test.txt
。自定義參數(shù)
任務(wù)自定義參數(shù),會(huì)替換腳本中
${變量}
的內(nèi)容。更多參數(shù)配置信息,請(qǐng)參見參數(shù)說明。前置任務(wù)
設(shè)置當(dāng)前任務(wù)的前置(上游)任務(wù)。
(可選)配置任務(wù)之間的依賴關(guān)系。
EMR Workflow支持流程間的自定義任務(wù)依賴。
單擊任務(wù)節(jié)點(diǎn)右側(cè)的圖標(biāo)可以連接任務(wù)。
選中連接線或節(jié)點(diǎn),單擊右上角的圖標(biāo),可以刪除任務(wù)間的依賴關(guān)系或節(jié)點(diǎn)。
保存工作流定義。
單擊右上角的保存。
在彈出的對(duì)話框中,配置相關(guān)的參數(shù),單擊確定。
參數(shù)
說明
工作流名稱
工作流的名稱。
描述
當(dāng)前工作流的功能描述。
超時(shí)告警
默認(rèn)關(guān)閉。打開超時(shí)告警開關(guān),需填寫超時(shí)時(shí)長,如果任務(wù)執(zhí)行時(shí)間超過超時(shí)時(shí)長,則會(huì)發(fā)送告警。
執(zhí)行策略
支持以下策略:
并行(默認(rèn)):如果由同一個(gè)工作流定義生成了多個(gè)工作流實(shí)例,則并行執(zhí)行工作流實(shí)例。
串行等待:如果由同一個(gè)工作流定義生成了多個(gè)工作流實(shí)例,則串行執(zhí)行工作流實(shí)例。
全局變量
是指針對(duì)整個(gè)工作流的所有任務(wù)節(jié)點(diǎn)都有效的參數(shù)。
工作流定義操作
在工作流定義頁面,您可以進(jìn)行以下操作。
操作 | 說明 |
編輯 | 只能編輯處于下線狀態(tài)的工作流定義。 |
運(yùn)行 | 只有上線狀態(tài)的工作流能夠運(yùn)行,但不能編輯。運(yùn)行工作流的具體操作,請(qǐng)參見運(yùn)行工作流。 |
定時(shí) | 只有上線的工作流可以定時(shí),系統(tǒng)自動(dòng)定時(shí)調(diào)度工作流運(yùn)行。創(chuàng)建定時(shí)后的狀態(tài)為上線,需在定時(shí)管理頁面上線定時(shí)才生效。定時(shí)工作流的具體操作,請(qǐng)參見定時(shí)工作流。 |
更多 |
|
運(yùn)行工作流
每運(yùn)行一次工作流,在工作流實(shí)例頁面都會(huì)產(chǎn)生一個(gè)工作流實(shí)例。
單擊操作列的運(yùn)行。
在彈出的對(duì)話框中,配置相關(guān)參數(shù),單擊確定。
參數(shù)
說明
失敗策略
當(dāng)某一個(gè)任務(wù)節(jié)點(diǎn)執(zhí)行失敗時(shí),其他的任務(wù)節(jié)點(diǎn)需要執(zhí)行的策略。
繼續(xù):某一任務(wù)失敗后,其他任務(wù)節(jié)點(diǎn)正常執(zhí)行。
結(jié)束(默認(rèn)):某一任務(wù)失敗后,終止其下游任務(wù)。
通知策略
當(dāng)流程結(jié)束,根據(jù)流程狀態(tài)發(fā)送流程執(zhí)行信息通知郵件。通知策略包含都不發(fā)(默認(rèn)),成功發(fā),失敗發(fā),成功或失敗都發(fā)。
流程優(yōu)先級(jí)
流程運(yùn)行的優(yōu)先級(jí)。支持以下級(jí)別:
HIGHEST:最高。
HIGH:高。
MEDIUM(默認(rèn)):中。
LOW:低。
LOWEST:最低。
調(diào)度資源組
調(diào)度資源組用于任務(wù)的調(diào)度運(yùn)行。在下拉列表中選擇已有的調(diào)度資源組。
執(zhí)行集群/模板
系統(tǒng)將根據(jù)您選定的調(diào)度資源組自動(dòng)匹配已綁定的集群或集群模板。
說明如果執(zhí)行集群/模板選擇的是集群模板,則運(yùn)行工作流時(shí)會(huì)按照模板創(chuàng)建集群,工作流結(jié)束后釋放集群。此外,如果保存工作流定義時(shí),您設(shè)置了超時(shí)告警參數(shù),一旦工作流觸發(fā)了超時(shí)告警規(guī)則,系統(tǒng)也會(huì)自動(dòng)釋放集群。如果您未設(shè)置超時(shí)告警,系統(tǒng)會(huì)在工作流運(yùn)行超過1天后自動(dòng)釋放集群。
補(bǔ)數(shù)
指運(yùn)行指定時(shí)間范圍內(nèi)的工作流定義,根據(jù)補(bǔ)數(shù)策略生成對(duì)應(yīng)的工作流實(shí)例。
說明補(bǔ)數(shù)規(guī)則: 如果工作流的定時(shí)管理狀態(tài)為上線,則按照定時(shí)調(diào)度設(shè)置的頻率規(guī)則進(jìn)行補(bǔ)數(shù);否則,默認(rèn)按照每天0時(shí)的頻率規(guī)則進(jìn)行補(bǔ)數(shù)。
使用限制: 單次補(bǔ)數(shù)操作生成的工作流實(shí)例數(shù)量不超過100個(gè)。
勾選是否是補(bǔ)數(shù),還需配置以下參數(shù):
依賴模式:支持打開和關(guān)閉(默認(rèn))。是否觸發(fā)下游依賴節(jié)點(diǎn)依賴到當(dāng)前工作流的工作流實(shí)例的補(bǔ)數(shù)。
只有當(dāng)前補(bǔ)數(shù)的工作流實(shí)例定時(shí)狀態(tài)已上線,才會(huì)觸發(fā)下游直接依賴到該工作流實(shí)例的補(bǔ)數(shù)。
執(zhí)行方式
串行執(zhí)行:指定時(shí)間范圍內(nèi),從開始日期至結(jié)束日期依次執(zhí)行補(bǔ)數(shù),依次生成多條流程實(shí)例。
并行執(zhí)行(默認(rèn)): 指定時(shí)間范圍內(nèi),同時(shí)進(jìn)行多天的補(bǔ)數(shù),同時(shí)生成多條流程實(shí)例。
此方式下,還需配置自定義并行度參數(shù),表示最多并行執(zhí)行的實(shí)例數(shù)。每次補(bǔ)數(shù)的并行度上限為7。
說明創(chuàng)建工作流定義時(shí),如果選擇并行執(zhí)行策略,則該工作流只能并行執(zhí)行補(bǔ)數(shù);如果選擇串行等待執(zhí)行策略,則該工作流只能進(jìn)行串行執(zhí)行補(bǔ)數(shù)。
調(diào)度日期:指定該工作流運(yùn)行的時(shí)間范圍。
全局參數(shù)
在啟動(dòng)新的流程實(shí)例時(shí),設(shè)置或覆蓋全局參數(shù)的值。
是否空跑
判斷是否空跑,空跑則打印日記,直接按成功處理。
在左側(cè)導(dǎo)航欄,選擇實(shí)例運(yùn)維>工作流實(shí)例,可以查看實(shí)例的運(yùn)行狀況。
導(dǎo)入工作流
在
頁面,單擊導(dǎo)入。單擊上傳,選擇導(dǎo)出到本地的工作流(.json文件),單擊確定。
定時(shí)工作流
在工作流定義頁面,單擊目標(biāo)工作流定義操作列的定時(shí)。
在彈出的對(duì)話框中,設(shè)置相關(guān)參數(shù),單擊確定。
起止時(shí)間:在起止時(shí)間范圍內(nèi),定時(shí)運(yùn)行工作流;不在起止時(shí)間范圍內(nèi),不再產(chǎn)生定時(shí)工作流實(shí)例。
定時(shí):選擇執(zhí)行的時(shí)間。
開啟定時(shí)狀態(tài)列的開關(guān)。
相關(guān)文檔
如需查看工作流實(shí)例信息,詳情請(qǐng)參見管理工作流實(shí)例。
如需創(chuàng)建調(diào)度資源組,詳情請(qǐng)參見管理調(diào)度資源組。
如需查看支持的參數(shù)信息,詳情請(qǐng)參見參數(shù)說明。