日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

flink作业提交流程

發(fā)布時間:2023/12/16 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 flink作业提交流程 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

      • 獨立模式(Standalone)
      • YARN 集群
        • 1. 會話(Session)模式
        • 單作業(yè)(Per-Job)模式
        • 應(yīng)用(Application)模式


(1) 一般情況下,由客戶端(App)通過分發(fā)器提供的 REST 接口,將作業(yè)提交給JobManager。
(2)由分發(fā)器啟動 JobMaster,并將作業(yè)(包含 JobGraph)提交給 JobMaster。
(3)JobMaster 將 JobGraph 解析為可執(zhí)行的 ExecutionGraph,得到所需的資源數(shù)量,然后向資源管理器請求資源(slots)。
(4)資源管理器判斷當(dāng)前是否由足夠的可用資源;如果沒有,啟動新的 TaskManager。
(5)TaskManager 啟動之后,向 ResourceManager 注冊自己的可用任務(wù)槽(slots)。
(6) 資源管理器通知task manager為新的作業(yè)提供slots
(7)TaskManager 連接到對應(yīng)的 JobMaster,提供 slots。
(8)JobMaster 將需要執(zhí)行的任務(wù)分發(fā)給 TaskManager。
(9)TaskManager 執(zhí)行任務(wù),互相之間可以交換數(shù)據(jù)。
不同的部署環(huán)境下可能有不同的提交流程

獨立模式(Standalone)

在獨立模式(Standalone)下,只有會話模式和應(yīng)用模式兩種部署方式。兩者整體來看流
程是非常相似的:TaskManager 都需要手動啟動,所以當(dāng) ResourceManager 收到 JobMaster 的
請求時,會直接要求 TaskManager 提供資源。而 JobMaster 的啟動時間點,會話模式是預(yù)先啟
動,應(yīng)用模式則是在作業(yè)提交時啟動。

YARN 集群

1. 會話(Session)模式

會話模式下,先啟動一個Yarn session ,這個會話會創(chuàng)建一個flink 集群

這里只啟動了 JobManager,而 TaskManager 可以根據(jù)需要動態(tài)地啟動。在 JobManager 內(nèi)
部,由于還沒有提交作業(yè),所以只有 ResourceManager 和 Dispatcher 在運行,

(1)客戶端通過 REST 接口,將作業(yè)提交給分發(fā)器。
(2)分發(fā)器啟動 JobMaster,并將作業(yè)(包含 JobGraph)提交給 JobMaster。
(3)JobMaster 向資源管理器請求資源(slots)。
(4)資源管理器向 YARN 的資源管理器請求 container 資源。
(5)YARN 啟動新的 TaskManager 容器。
(6)TaskManager 啟動之后,向 Flink 的資源管理器注冊自己的可用任務(wù)槽。
(7)資源管理器通知 TaskManager 為新的作業(yè)提供 slots。
(8)TaskManager 連接到對應(yīng)的 JobMaster,提供 slots。
(9)JobMaster 將需要執(zhí)行的任務(wù)分發(fā)給 TaskManager,執(zhí)行任務(wù)。

單作業(yè)(Per-Job)模式

Flink 集群不會預(yù)先啟動,而是在提交作業(yè)時,才啟動新的 JobManager。

(1)客戶端將作業(yè)提交給 YARN 的資源管理器,這一步中會同時將 Flink 的 Jar 包和配置上傳到 HDFS,以便后續(xù)啟動 Flink 相關(guān)組件的容器
(2)YARN 的資源管理器分配 Container 資源,啟動 Flink JobManager,并將作業(yè)提交給JobMaster
(3)JobMaster 向資源管理器請求資源(slots)。
(4)資源管理器向 YARN 的資源管理器請求 container 資源。
(5)YARN 啟動新的 TaskManager 容器。
(6)TaskManager 啟動之后,向 Flink 的資源管理器注冊自己的可用任務(wù)槽。
(7)資源管理器通知 TaskManager 為新的作業(yè)提供 slots。
(8)TaskManager 連接到對應(yīng)的 JobMaster,提供 slots。
(9)JobMaster 將需要執(zhí)行的任務(wù)分發(fā)給 TaskManager,執(zhí)行任務(wù)。
區(qū)別只在于 JobManager 的啟動方式,以及省去了分發(fā)器。當(dāng)?shù)?2 步作業(yè)提交給JobMaster,之后的流程就與會話模式完全一樣了。

應(yīng)用(Application)模式

應(yīng)用模式與單作業(yè)模式的提交流程非常相似,只是初始提交給 YARN 資源管理器的不再,是具體的作業(yè),而是整個應(yīng)用。一個應(yīng)用中可能包含了多個作業(yè),這些作業(yè)都將在 Flink 集群中啟動各自對應(yīng)的 JobMaster。

總結(jié)

以上是生活随笔為你收集整理的flink作业提交流程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。