1





多個(gè)節(jié)點(diǎn)(服務(wù)器)每個(gè)job執(zhí)行的結(jié)果,最終是怎么進(jìn)行匯總的?
Flink任務(wù)提交后,Client向HDFS上傳Flink的Jar包和配置
向Yarn ResourceManager提交任務(wù),ResourceManager分配Container資源
通知對(duì)應(yīng)的NodeManager啟動(dòng)ApplicationMaster,ApplicationMaster啟動(dòng)后加載Flink的Jar包和配置構(gòu)建環(huán)境,創(chuàng)建Dispatcher和ResourceManager
Client向Dispatcher提交job
Dispatcher為job啟動(dòng)一個(gè)JobManager
JobManager向ResourceManager申請(qǐng)slot
ResourceManager向資源調(diào)度平臺(tái)(Yarn)申請(qǐng)資源啟動(dòng)TaskManager
資源調(diào)度平臺(tái)分配資源(Yarn Container)后,由ApplicationMaster通知資源所在節(jié)點(diǎn)的NodeManager啟動(dòng)TaskManager
NodeManager加載Flink的Jar包和配置構(gòu)建環(huán)境并啟動(dòng)TaskManager,啟動(dòng)后直接向JobManager注冊(cè)自己
JobManager資源足夠后運(yùn)行job后,向taskManager的slot中deploy 任務(wù)

7.(slot占據(jù)內(nèi)存)






流處理系統(tǒng)與批處理系統(tǒng)最大不同在于節(jié)點(diǎn)間的數(shù)據(jù)傳輸方式
流處理系統(tǒng),其節(jié)點(diǎn)間數(shù)據(jù)傳輸?shù)臉?biāo)準(zhǔn)模型是:當(dāng)一條數(shù)據(jù)被處理完成后,序列化到緩存中,然后立刻通過(guò)網(wǎng)絡(luò)傳輸?shù)较乱粋€(gè)節(jié)點(diǎn),由下一個(gè)節(jié)點(diǎn)繼續(xù)處理。
批處理系統(tǒng),其節(jié)點(diǎn)間數(shù)據(jù)傳輸?shù)臉?biāo)準(zhǔn)模型是:當(dāng)一條數(shù)據(jù)被處理完成后,序列化到緩存中,并不會(huì)立刻通過(guò)網(wǎng)絡(luò)傳輸?shù)较乱粋€(gè)節(jié)點(diǎn),當(dāng)緩存寫(xiě)滿(mǎn),就持久化到本地硬盤(pán)上,當(dāng)所有數(shù)據(jù)都被處理完成后,才開(kāi)始將處理后的數(shù)據(jù)通過(guò)網(wǎng)絡(luò)傳輸?shù)较乱粋€(gè)節(jié)點(diǎn)。