Python知識(shí)分享網(wǎng) - 專業(yè)的Python學(xué)習(xí)網(wǎng)站 學(xué)Python,上Python222
大數(shù)據(jù)Flink學(xué)習(xí)指南(Java版)PDF 下載
匿名網(wǎng)友發(fā)布于:2023-12-05 10:03:14
(侵權(quán)舉報(bào))
(假如點(diǎn)擊沒反應(yīng),多刷新兩次就OK!)

大數(shù)據(jù)Flink學(xué)習(xí)指南(Java版)PDF 下載  圖1

 

 

 

 

資料內(nèi)容:

 

 

1. JobMaster
JobMaster 是 JobManager 中最核心的組件,負(fù)責(zé)處理單獨(dú)的作業(yè)(Job)。所以
JobMaster和具體的 Job 是一一對應(yīng)的,多個(gè) Job 可以同時(shí)運(yùn)行在一個(gè) Flink 集群中, 每個(gè)
Job 都有一個(gè)自己的 JobMaster。需要注意在早期版本的 Flink 中,沒有 JobMaster 的概念;
而 JobManager 的概念范圍較小,實(shí)際指的就是現(xiàn)在所說的 JobMaster。
在作業(yè)提交時(shí),JobMaster 會(huì)先接收到要執(zhí)行的應(yīng)用。這里所說“應(yīng)用”一般是客戶端
提交來的,包括:Jar 包,數(shù)據(jù)流圖(dataflow graph),和作業(yè)圖(JobGraph)。
JobMaster 會(huì)把 JobGraph 轉(zhuǎn)換成一個(gè)物理層面的數(shù)據(jù)流圖,這個(gè)圖被叫作“執(zhí)行圖”
(ExecutionGraph ), 它包含了所有可以并發(fā)執(zhí)行的任務(wù)。 JobMaster 會(huì)向資源管理器
(ResourceManager)發(fā)出請求,申請執(zhí)行任務(wù)必要的資源。一旦它獲取到了足夠的資源,就
會(huì)將執(zhí)行圖分發(fā)到真正運(yùn)行它們的 TaskManager 上。
而在運(yùn)行過程中,JobMaster 會(huì)負(fù)責(zé)所有需要中央?yún)f(xié)調(diào)的操作,比如說檢查點(diǎn)(checkpoints)
的協(xié)調(diào)。
2. 資源管理器(ResourceManager)
ResourceManager 主要負(fù)責(zé)資源的分配和管理,在 Flink 集群中只有一個(gè)。所謂“資
源”,主要是指TaskManager 的任務(wù)槽(task slots)。任務(wù)槽就是 Flink 集群中的資源調(diào)配單
元,包含了機(jī)器用來執(zhí)行計(jì)算的一組 CPU 和內(nèi)存資源。每一個(gè)任務(wù)(Task)都需要分配到一個(gè)
slot 上執(zhí)行。
這里注意要把 Flink 內(nèi)置的 ResourceManager 和其他資源管理平臺(tái)(比如 YARN)的
ResourceManager 區(qū)分開。
Flink 的 ResourceManager,針對不同的環(huán)境和資源管理平臺(tái)(比如 Standalone 部署,
或者YARN),有不同的具體實(shí)現(xiàn)。在 Standalone 部署時(shí),因?yàn)?TaskManager 是單獨(dú)啟動(dòng)
的(沒有 Per-Job 模式),所以 ResourceManager 只能分發(fā)可用TaskManager 的任務(wù)槽,
不能單獨(dú)啟動(dòng)新 TaskManager。