hadoop任務(wù)執(zhí)行流程主要包括以下幾個步驟:
-
提交作業(yè):用戶在客戶端機器上使用hadoop提供的命令行工具或API,構(gòu)建任務(wù)的執(zhí)行環(huán)境并將任務(wù)提交到yarn(Hadoop的資源管理器)。
-
資源申請:YARN收到任務(wù)提交請求后,會根據(jù)任務(wù)所需資源(如內(nèi)存、CPU等)向集群中的節(jié)點申請資源。
-
任務(wù)啟動:一旦資源分配完成,YARN會將任務(wù)的啟動命令發(fā)送給相應(yīng)的節(jié)點。在節(jié)點上,NodeManager負(fù)責(zé)啟動任務(wù)容器,并且監(jiān)控任務(wù)的執(zhí)行狀態(tài)。
-
執(zhí)行map任務(wù):任務(wù)容器啟動后,其中的應(yīng)用程序會加載任務(wù)所需的代碼和數(shù)據(jù),并開始執(zhí)行Map階段的計算。Map任務(wù)負(fù)責(zé)將輸入數(shù)據(jù)轉(zhuǎn)換為中間鍵值對。
-
執(zhí)行reduce任務(wù):Map任務(wù)完成后,Reduce任務(wù)開始執(zhí)行。Reduce任務(wù)負(fù)責(zé)將Map任務(wù)的輸出進(jìn)行合并和聚合,生成最終結(jié)果。
-
輸出結(jié)果:Reduce任務(wù)完成后,任務(wù)的結(jié)果會被寫入指定的輸出路徑中,供后續(xù)使用和分析。
-
后續(xù)處理:任務(wù)執(zhí)行完成后,需要進(jìn)行一些后續(xù)處理工作,如輸出數(shù)據(jù)檢查、資源釋放、日志和監(jiān)控等,以確保任務(wù)的完整性和數(shù)據(jù)的可用性。