教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

MapReduce是怎么和yarn連接到一起的?

更新時(shí)間:2023年09月11日10時(shí)27分 來(lái)源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

  MapReduce是一種用于分布式計(jì)算的編程模型,而YARN(Yet Another Resource Negotiator)是Hadoop生態(tài)系統(tǒng)中的資源管理器。它們一起工作以實(shí)現(xiàn)在Hadoop集群上執(zhí)行MapReduce作業(yè)。以下是MapReduce如何與YARN連接在一起的詳細(xì)說(shuō)明:

  1.Hadoop生態(tài)系統(tǒng):

  MapReduce和YARN都是Hadoop生態(tài)系統(tǒng)的一部分,它們協(xié)同工作來(lái)處理大規(guī)模數(shù)據(jù)集。Hadoop生態(tài)系統(tǒng)還包括Hadoop分布式文件系統(tǒng)(HDFS)等其他組件。

  2.YARN架構(gòu):

  YARN是Hadoop的資源管理器,負(fù)責(zé)在集群上分配和管理資源。它包括以下關(guān)鍵組件:

  ·ResourceManager(RM):全局資源管理器,負(fù)責(zé)集群資源的分配和管理。

  ·NodeManager(NM):運(yùn)行在每個(gè)節(jié)點(diǎn)上的代理,負(fù)責(zé)監(jiān)控該節(jié)點(diǎn)上的資源使用情況。

  ·ApplicationMaster(AM):每個(gè)應(yīng)用程序(例如MapReduce作業(yè))都有一個(gè)獨(dú)立的AM,它負(fù)責(zé)協(xié)調(diào)任務(wù)的執(zhí)行和資源的申請(qǐng)。

  3.MapReduce框架:

  MapReduce作業(yè)被分為兩個(gè)主要階段:Map階段和Reduce階段。在Map階段,輸入數(shù)據(jù)被拆分成小塊,每個(gè)塊由一個(gè)Mapper任務(wù)處理。在Reduce階段,Mapper的輸出被分組和排序,然后由多個(gè)Reducer任務(wù)聚合結(jié)果。

  4.MapReduce與YARN連接:

  MapReduce作業(yè)在YARN上運(yùn)行時(shí),以下是它們是如何連接的:

  ·作業(yè)提交:當(dāng)用戶提交MapReduce作業(yè)時(shí),作業(yè)客戶端(JobClient)會(huì)將作業(yè)描述(作業(yè)配置、Mapper和Reducer類等)發(fā)送給YARN ResourceManager。

  ·資源分配:YARN ResourceManager分配一個(gè)容器(container)來(lái)運(yùn)行作業(yè)的ApplicationMaster。這個(gè)容器包括資源(CPU、內(nèi)存等)和作業(yè)所需的所有依賴。

  ·ApplicationMaster啟動(dòng):一旦分配了容器,YARN會(huì)啟動(dòng)MapReduce作業(yè)的ApplicationMaster進(jìn)程。ApplicationMaster是作業(yè)的主管,負(fù)責(zé)與ResourceManager通信,并協(xié)調(diào)作業(yè)的執(zhí)行。

  ·任務(wù)分配:ApplicationMaster與YARN ResourceManager協(xié)商資源分配,以便啟動(dòng)Mapper和Reducer任務(wù)。它將任務(wù)分配給可用的NodeManager,以便在集群中運(yùn)行任務(wù)。

  ·任務(wù)執(zhí)行:NodeManager上的任務(wù)進(jìn)程(Mapper或Reducer)開(kāi)始執(zhí)行,并將輸出寫(xiě)入HDFS或其他指定位置。

  ·進(jìn)度和狀態(tài)監(jiān)控:ApplicationMaster負(fù)責(zé)監(jiān)控任務(wù)的進(jìn)度和狀態(tài),并將相關(guān)信息傳遞給YARN ResourceManager。這使得ResourceManager能夠了解作業(yè)的整體狀態(tài)。

  ·作業(yè)完成:一旦所有任務(wù)都完成,ApplicationMaster會(huì)通知ResourceManager,然后它可以釋放分配給該作業(yè)的資源。

  5.錯(cuò)誤處理:

  YARN ResourceManager和ApplicationMaster會(huì)協(xié)同處理錯(cuò)誤和故障情況,以確保作業(yè)的可靠執(zhí)行。如果某個(gè)任務(wù)失敗,它可以重新分配到另一個(gè)節(jié)點(diǎn)上運(yùn)行。

  總之,MapReduce與YARN緊密集成,通過(guò)YARN的資源管理和任務(wù)調(diào)度功能來(lái)實(shí)現(xiàn)在Hadoop集群上執(zhí)行分布式MapReduce作業(yè)。這種集成允許有效地利用集群資源,并提供高可用性和容錯(cuò)性。

0 分享到:
和我們?cè)诰€交談!