目錄
作業(yè)提交流程
獨(dú)立模式
YARN模式
會(huì)話模式
單作業(yè)模式
應(yīng)用模式
作業(yè)提交流程
(1) 一般情況下,由客戶(hù)端(App)通過(guò)分發(fā)器提供的 REST 接口,將作業(yè)提交給JobManager。
(2)由分發(fā)器啟動(dòng) JobMaster,并將作業(yè)(包含 JobGraph)提交給 JobMaster。
(3)JobMaster 將 JobGraph 解析為可執(zhí)行的 ExecutionGraph,得到所需的資源數(shù)量,然后向資源管理器請(qǐng)求資源(slots)
(4)資源管理器判斷當(dāng)前是否有足夠的可用資源;如果沒(méi)有,啟動(dòng)新的 TaskManager。
(5)TaskManager 啟動(dòng)之后,向 ResourceManager 注冊(cè)自己的可用任務(wù)槽(slots)。
(6)資源管理器通知 TaskManager 為新的作業(yè)提供 slots。
(7)TaskManager 連接到對(duì)應(yīng)的 JobMaster,提供 slots。
(8)JobMaster 將需要執(zhí)行的任務(wù)分發(fā)給 TaskManager。
(9)TaskManager 執(zhí)行任務(wù),互相之間可以交換數(shù)據(jù)。
獨(dú)立模式
獨(dú)立模式下,由于TaskManager 是手動(dòng)啟動(dòng)的,所以當(dāng) ResourceManager 收到 JobMaster 的請(qǐng)求時(shí),會(huì)直接要求 TaskManager 提供資源,因此第(4)步與提交流程不同,不會(huì)啟動(dòng)新的TaskManager
YARN模式
會(huì)話模式
在會(huì)話模式下,YARN session創(chuàng)建Flink集群
作業(yè)提交流程如下:
(1)客戶(hù)端通過(guò) REST 接口,將作業(yè)提交給分發(fā)器。
(2)分發(fā)器啟動(dòng) JobMaster,并將作業(yè)(包含 JobGraph)提交給 JobMaster。
(3)JobMaster 向資源管理器請(qǐng)求資源(slots)。
(4)資源管理器向 YARN 的資源管理器請(qǐng)求 container 資源。
(5)YARN 啟動(dòng)新的 TaskManager 容器。
(6)TaskManager 啟動(dòng)之后,向 Flink 的資源管理器注冊(cè)自己的可用任務(wù)槽。
(7)資源管理器通知 TaskManager 為新的作業(yè)提供 slots。
(8)TaskManager 連接到對(duì)應(yīng)的 JobMaster,提供 slots。
(9)JobMaster 將需要執(zhí)行的任務(wù)分發(fā)給 TaskManager,執(zhí)行任務(wù)。
可以看到在YARN的session模式下,請(qǐng)求資源時(shí)要“上報(bào)”YARN 的資源管理器
單作業(yè)模式
(1)客戶(hù)端將作業(yè)提交給 YARN 的資源管理器,這一步中會(huì)同時(shí)將 Flink 的 Jar 包和配置上傳到 HDFS,以便后續(xù)啟動(dòng) Flink 相關(guān)組件的容器。
(2)YARN 的資源管理器分配 Container 資源,啟動(dòng) Flink JobManager,并將作業(yè)提交給JobMaster。這里省略了 Dispatcher 組件。
(3)JobMaster 向資源管理器請(qǐng)求資源(slots)。
(4)資源管理器向 YARN 的資源管理器請(qǐng)求 container 資源。
(5)YARN 啟動(dòng)新的 TaskManager 容器。
(6)TaskManager 啟動(dòng)之后,向 Flink 的資源管理器注冊(cè)自己的可用任務(wù)槽。
(7)資源管理器通知 TaskManager 為新的作業(yè)提供 slots。
(8)TaskManager 連接到對(duì)應(yīng)的 JobMaster,提供 slots。
(9)JobMaster 將需要執(zhí)行的任務(wù)分發(fā)給 TaskManager,執(zhí)行任務(wù)。
可見(jiàn),區(qū)別只在于 JobManager 的啟動(dòng)方式,以及省去了分發(fā)器。當(dāng)?shù)?2 步作業(yè)提交給JobMaster,之后的流程就與會(huì)話模式完全一樣了
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-655926.html
應(yīng)用模式
應(yīng)用模式與單作業(yè)模式的區(qū)別在于:初始時(shí)提交給YARN資源管理器的不是一個(gè)作業(yè),而是一個(gè)應(yīng)用,應(yīng)用中可以包含多個(gè)作業(yè),每個(gè)作業(yè)都會(huì)啟動(dòng)相應(yīng)的JobMaster;文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-655926.html
到了這里,關(guān)于flink作業(yè)提交流程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!