當(dāng)我們執(zhí)行這條命令時:hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /input /output
hadoop為我們做了那些事情?
yarn調(diào)度流程:
client端會調(diào)用resourcemanager懒熙,申請執(zhí)行一個job
resourcemanager會給客戶端返回一個hdfs的目錄以及一個application_id號悬赏。
client端會將切片信息伴澄、job的配置信息以及jar包上傳到上一步收到的hdfs目錄下(三個文件分別是:job.split、job.xml瑰剃、jar包)
client請求resourcemanager啟動mrappmaster
resourcemanager將client請求初始化成一個task任務(wù)赚哗,放到執(zhí)行隊列里面(默認(rèn)FIFO)蟋字,當(dāng)執(zhí)行到這個task的時候會給該job分配資源壹若。
resourcemanager會找空閑的nodemanager創(chuàng)建一個container容器嗅钻,并啟動mrappmaster
當(dāng)mrappmaster啟動之后會先將client提交hdfs的資源(job.split皂冰、job.xml、jar包)下載到本地
mrappmaster根據(jù)資源信息的情況請求resourcemanager啟動maptask
resourcemanager會為上面的請求找空閑的nodemanager并創(chuàng)建maptask的container
mrappmaster將資源發(fā)送給各個nodemanager并且啟動上面相應(yīng)的maptask程序养篓,監(jiān)控maptask的運行情況(如果maptask掛掉之后秃流,由mrappmaster去處理)。
當(dāng)maptask執(zhí)行完成后柳弄,mrappmaster又會向resourcemanager申請reducetask的資源
resourcemanager又會為上面的請求找空閑的nodemanager并創(chuàng)建reducetask的container
mrappmaster然后又啟動reducetask任務(wù)舶胀,并且監(jiān)控reducetask任務(wù)的執(zhí)行狀況。
直到mapreduce的程序執(zhí)行完成
整個job運行完畢后碧注,mrAppMaster會向RM注銷自己