大數(shù)據(jù)開發(fā)框架課件5yarn_第1頁
大數(shù)據(jù)開發(fā)框架課件5yarn_第2頁
大數(shù)據(jù)開發(fā)框架課件5yarn_第3頁
大數(shù)據(jù)開發(fā)框架課件5yarn_第4頁
大數(shù)據(jù)開發(fā)框架課件5yarn_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

5新一代資源管理調(diào)度框架YARN5.1MapReduce1.0的缺陷5.2YARN設計思路5.3YARN體系結(jié)構(gòu)5.4YARN工作流程5.5YARN框架與MapReduce1.0框架的對比分析5.6YARN的發(fā)展目標5.1MapReduce1.0的缺陷圖MapReduce1.0體系結(jié)構(gòu)(1)存在單點故障(2)JobTracker“大包大攬”導致任務過重(任務多時內(nèi)存開銷大,上限4000節(jié)點)(3)容易出現(xiàn)內(nèi)存溢出(分配資源只考慮MapReduce任務數(shù),不考慮CPU、內(nèi)存)(4)資源劃分不合理(強制劃分為slot,包括Mapslot和Reduceslot)5.2YARN設計思路MapReduce1.0既是一個計算框架,也是一個資源管理調(diào)度框架到了Hadoop2.0以后,MapReduce1.0中的資源管理調(diào)度功能,被單獨分離出來形成了YARN,它是一個純粹的資源管理調(diào)度框架,而不是一個計算框架被剝離了資源管理調(diào)度功能的MapReduce框架就變成了MapReduce2.0,它是運行在YARN之上的一個純粹的計算框架,不再自己負責資源調(diào)度管理服務,而是由YARN為其提供資源管理調(diào)度服務5.3YARN體系結(jié)構(gòu)ResourceManager處理客戶端請求啟動/監(jiān)控ApplicationMaster監(jiān)控NodeManager資源分配與調(diào)度NodeManager單個節(jié)點上的資源管理處理來自ResourceManger的命令處理來自ApplicationMaster的命令ApplicationMaster為應用程序申請資源,并分配給內(nèi)部任務任務調(diào)度、監(jiān)控與容錯5.3YARN體系結(jié)構(gòu)ResourceManager(RM)是一個全局的資源管理器,負責整個系統(tǒng)的資源管理和分配,主要包括兩個組件,即調(diào)度器(Scheduler)和應用程序管理器(ApplicationsManager)調(diào)度器接收來自ApplicationMaster的應用程序資源請求,把集群中的資源以“容器”的形式分配給提出申請的應用程序,容器的選擇通常會考慮應用程序所要處理的數(shù)據(jù)的位置,進行就近選擇,從而實現(xiàn)“計算向數(shù)據(jù)靠攏”容器(Container)作為動態(tài)資源分配單位,每個容器中都封裝了一定數(shù)量的CPU、內(nèi)存、磁盤等資源,從而限定每個應用程序可以使用的資源量調(diào)度器被設計成是一個可插拔的組件,YARN不僅自身提供了許多種直接可用的調(diào)度器,也允許用戶根據(jù)自己的需求重新設計調(diào)度器應用程序管理器(ApplicationsManager)負責系統(tǒng)中所有應用程序的管理工作,主要包括應用程序提交、與調(diào)度器協(xié)商資源以啟動ApplicationMaster、監(jiān)控ApplicationMaster運行狀態(tài)并在失敗時重新啟動等ResourceManager5.3YARN體系結(jié)構(gòu)ApplicationMasterResourceManager接收用戶提交的作業(yè),按照作業(yè)的上下文信息以及從NodeManager收集來的容器狀態(tài)信息,啟動調(diào)度過程,為用戶作業(yè)啟動一個ApplicationMasterApplicationMaster的主要功能是:(1)當用戶作業(yè)提交時,ApplicationMaster與ResourceManager協(xié)商獲取資源,ResourceManager會以容器的形式為ApplicationMaster分配資源;(2)把獲得的資源進一步分配給內(nèi)部的各個任務(Map任務或Reduce任務),實現(xiàn)資源的“二次分配”;(3)與NodeManager保持交互通信進行應用程序的啟動、運行、監(jiān)控和停止,監(jiān)控申請到的資源的使用情況,對所有任務的執(zhí)行進度和狀態(tài)進行監(jiān)控,并在任務發(fā)生失敗時執(zhí)行失敗恢復(即重新申請資源重啟任務);(4)定時向ResourceManager發(fā)送“心跳”消息,報告資源的使用情況和應用的進度信息;(5)當作業(yè)完成時,ApplicationMaster向ResourceManager注銷容器,執(zhí)行周期完成。5.3YARN體系結(jié)構(gòu)NodeManagerNodeManager是駐留在一個YARN集群中的每個節(jié)點上的代理,主要負責:容器生命周期管理監(jiān)控每個容器的資源(CPU、內(nèi)存等)使用情況跟蹤節(jié)點健康狀況以“心跳”的方式與ResourceManager保持通信向ResourceManager匯報作業(yè)的資源使用情況和每個容器的運行狀態(tài)接收來自ApplicationMaster的啟動/停止容器的各種請求需要說明的是,NodeManager主要負責管理抽象的容器,只處理與容器相關的事情,而不具體負責每個任務(Map任務或Reduce任務)自身狀態(tài)的管理,因為這些管理工作是由ApplicationMaster完成的,ApplicationMaster會通過不斷與NodeManager通信來掌握各個任務的執(zhí)行狀態(tài)5.3YARN體系結(jié)構(gòu)圖YARN和Hadoop平臺其他組件的統(tǒng)一部署在集群部署方面,YARN的各個組件是和Hadoop集群中的其他組件進行統(tǒng)一部署的5.4YARN工作流程圖YARN的工作流程步驟3:ApplicationMaster被創(chuàng)建后會首先向ResourceManager注冊步驟4:ApplicationMaster采用輪詢的方式向ResourceManager申請資源步驟5:ResourceManager以“容器”的形式向提出申請的ApplicationMaster分配資源步驟6:在容器中啟動任務(運行環(huán)境、腳本)步驟7:各個任務向ApplicationMaster匯報自己的狀態(tài)和進度步驟8:應用程序運行完成后,ApplicationMaster向ResourceManager的應用程序管理器注銷并關閉自己步驟1:用戶編寫客戶端應用程序,向YARN提交應用程序,提交的內(nèi)容包括ApplicationMaster程序、啟動ApplicationMaster的命令、用戶程序等步驟2:YARN中的ResourceManager負責接收和處理來自客戶端的請求,為應用程序分配一個容器,在該容器中啟動一個ApplicationMaster5.5YARN框架與MapReduce1.0框架的對比分析總體而言,YARN相對于MapReduce1.0來說具有以下優(yōu)勢:大大減少了承擔中心服務功能的ResourceManager的資源消耗ApplicationMaster來完成需要大量資源消耗的任務調(diào)度和監(jiān)控多個作業(yè)對應多個ApplicationMaster,實現(xiàn)了監(jiān)控分布化MapReduce1.0既是一個計算框架,又是一個資源管理調(diào)度框架,但是,只能支持MapReduce編程模型。而YARN則是一個純粹的資源調(diào)度管理框架,在它上面可以運行包括MapReduce在內(nèi)的不同類型的計算框架,只要編程實現(xiàn)相應的ApplicationMasterYARN中的資源管理比MapReduce1.0更加高效以容器為單位,而不是以slot為單位從MapReduce1.0框架發(fā)展到Y(jié)ARN框架,客戶端并沒有發(fā)生變化,其大部分調(diào)用API及接口都保持兼容,因此,原來針對Hadoop1.0開發(fā)的代碼不用做大的改動,就可以直接放到Hadoop2.0平臺上運行5.6YARN的發(fā)展目標一個企業(yè)當中同時存在各種不同的業(yè)務應用場景,需要采用不同的計算框架MapReduce實現(xiàn)離線批處理使用Impala實現(xiàn)實時交互式查詢分析使用Storm實現(xiàn)流式數(shù)據(jù)實時分析使用Spark實現(xiàn)迭代計算這些產(chǎn)品通常來自不同的開發(fā)團隊,具有各自的資源調(diào)度管理機制為了避免不同類型應用之間互相干擾,企業(yè)就需要把內(nèi)部的服務器拆分成多個集群,分別安裝運行不同的計算框架,即“一個框架一個集群”導致問題集群資源利用率低數(shù)據(jù)無法共享維護代價高YARN的目標就是實現(xiàn)“一個集群多個框架”,為什么?5.6YARN的發(fā)展目標圖

在YARN上部署各種計算框架YARN的目標就是實現(xiàn)“一個集群多個框架”,即在一個集群上部署一個統(tǒng)一的資源調(diào)度管理框架YARN,在YARN之上可以部署其他各種計算框架由YARN為這些計算框架提供統(tǒng)一的資源調(diào)度管理服務,并且能夠根據(jù)各種計算框架的負載需求,調(diào)整各自占用的資源,實現(xiàn)集群資源共享和資源彈性收縮可以實現(xiàn)一個集群上的不同應用負載混搭,有效提高了集群的利用率不同計算框架可以

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論