40.第四章-YARN-YARN產生的背景、初始YARN、YARN的架構、YARN調度器_第1頁
40.第四章-YARN-YARN產生的背景、初始YARN、YARN的架構、YARN調度器_第2頁
40.第四章-YARN-YARN產生的背景、初始YARN、YARN的架構、YARN調度器_第3頁
40.第四章-YARN-YARN產生的背景、初始YARN、YARN的架構、YARN調度器_第4頁
40.第四章-YARN-YARN產生的背景、初始YARN、YARN的架構、YARN調度器_第5頁
已閱讀5頁,還剩33頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

YARN報告人:曙光瑞翼教育品牌部課程目標了解YARN出現的背景,YARN的基本概念掌握YARN的組成部分,各組成部分的作用MapReduce1與YARN的區別掌握YARN三種調度器的特點、工作方法目錄YARN產生的背景初識YARNYARN架構010203YARN調度器04小結05YARN產生背景01思考現實生活的例子一個電子廠,剛開始是1老板+3個工人思考:隨著業務擴大,訂單將增加,工人增多。電子廠會遇到哪些問題?老板工人1工人2工人3客戶1訂單客戶2訂單問題一:對于老板:訂單進來,要分配任務。工人增多,管理工作事情多。老板很忙啊!!問題二:訂單進來,工人數量是有一個上限。如何安排協調資源,哪些訂單先處理?其他問題:.......如何解決?一個電子廠,剛開始是一個老板+3個工人隨著業務擴大,訂單將增加,工人增多。思考:電子廠會遇到哪些問題?老板工人1工人2工人3客戶1訂單客戶2訂單拉長(LineLeader)解決方法:(1)增加拉長,負責跟進進度(2)采用合適的調度器處理訂單。老板娘4.1.1

Hadoop主要組成存儲計算Hadoop主要的組成MapReduceHDFSHadoop1.x及之前→MapReduce1Hadoop2.x+→MapReduce2兩類任務:Map任務+Reduce任務兩個實現的版本4.1.2

MapReduce1架構JobTrackerClient:客戶端JobTracker:負責資源管理和所有作業的控制TaskTracker:負責接收來自JobTracker的命令并執行ClientTaskTrackerMap任務Reduce任務TaskTrackerMap任務Reduce任務TaskTrackerMap任務Reduce任務DataNodeDataNode任務管理節點SecondaryNameNode客戶端服務端NameNodeDataNode4.1.3

MapReduce1工作流程(了解即可)TaskTrackerTaskTrackerTaskTrackerJobTrackerHadoop1.01步:請求2步:NameNode分發數據JobTracker安排任務3步:執行任務4步:反饋進度5步:反饋進度4.1.4

MapReduce1局限性MapReduce1的JobTracker有多忙?1、作業調度(把任務安排給TaskTracker)2、任務進度監控(跟蹤任務、重啟失敗的任務;記錄任務流水)1.JobTracker訪問壓力大,影響系統擴展性,不適合所有大型計算。主要表現在大型集群上。官方稱當節點數達到4000,任務數達到40000,MapReduce會遇到可擴展瓶頸。其他:2.難以支持除MapReduce之外的框架,如Spark、Storm等。3.JobTracker單點故障(因為Hadoop1.0的本身就有單點故障)。4.1.4

MapReduce1局限性4.1.5

MapReduce2可以這樣理解:MapReduce2→MapReduce+YARN初識YARN024.2.1

YARN-進程4.2.2

YARN-Web界面4.2.3什么是YARNYARN:YetAnotherResourceNegotiator,另一種資源協調者。最初是為了改善MapReduce的實現,但也是一種資源調度框架,具有通用性,可為上層應用提供統一的資源管理和調度,可以支持其他的分布式計算模式(如Spark)。它的引入為集群在利用率、資源統一管理和數據共享等方面帶來了巨大好處。4.2.3什么是YARNYARN是一種通用資源調度框架,不僅僅支持MapReduce4.2.4

YARN在Hadoop生態圈中位置Ambari(安裝部署工具)Zookeeper(分布式協調服務)HBase(分布式數據庫)HDFS(分布式存儲系統)YARN(資源調度框架)MapReduce(離線計算)...HivePigMahout...Sqoop(數據庫ETL工具)Flume(日志采集)數據分析引擎機器學習算法庫數據采集引擎Spark,Tez...YARN架構03ResourceManagerClientNodeManager4.3.1

YARN架構ContainerApplicationMasterNodeManagerContainerApplicationNodeManagerContainerApplicationYARN中資源包括內存、CPU、磁盤輸入輸出等等。Container是YARN中資源的抽象,它封裝了某個節點上的多維度資源。4.3.1

YARN架構(1)Container(容器)ResourceManager負責整個系統的資源分配和管理,是一個全局的資源管理器。主要由兩個組件構成:調度器和應用程序管理器:調度器(Scheduler):

調度器根據資源情況為應用程序分配封裝在Container中的資源。應用程序管理器(ApplicationManager):

應用程序管理器負責管理整個系統中所有應用程序。4.3.1

YARN架構(2)ResourceManager(資源管理器)NodeManager是每個節點上的資源和任務管理器。定時向ResourceManager匯報本節點上的資源使用情況和各個Container的運行狀態;接收并處理來自ApplicationManager的Container啟動/停止等請求。4.3.1

YARN架構(3)NodeManager(節點管理器)ApplicationMaster是一個詳細的框架庫,它結合從ResourceManager獲得的資源和NodeManager協同工作來運行和監控任務。用戶提交的每一個應用程序均包含一個ApplicationMaster。主要功能包括:1)、與ResourceManager調度器協商以獲取抽象資源(Container);2)、負責應用的監控,跟蹤應用執行狀態,重啟失敗任務等;3)、并且與NodeManager協同工作完成Task的執行和監控。備注:第五章MRAppMaster是MapReduce時的ApplicationMaster的一種實現。4.3.1

YARN架構(4)ApplicationMaster(主應用)4.3.2

YARN中應用(Application)運行機制(流程)ApplicationClientclientnodeResurceManagerresourcemanagernodenodemanagernodeNodeManager2a:初始化容器2b:啟動4:資源不夠?申請新資源nodemanagernodeNodeManager1:提交YARNApplicationApplication(應用進程)5b:啟動容器容器ApplicationMaster5a:資源拿到了?啟動容器3.計算資源夠不夠,夠,則運行任務4.3.3

YARN中任務進度監控ApplicationClientclientnodeResurceManagerresourcemanagernodenodemanagernodeNodeManagernodemanagernodeNodeManagerApplication(應用進程)容器容器ApplicationMastera.向自己的ApplicationMaster報告進度和狀態b.匯聚作業視圖獲取狀態4.3.4

MapReduce1與YARN組成對比分工MapReduce1YARN(1)作業調度(2)任務進度監控(跟蹤任務、重啟失敗的任務;記錄任務流水)JobTrackerResourceManager→作業調度ApplicationMaster→任務進度監控任務執行(或節點資源管理)TaskTrackerNodeManager資源調配單元(cpu,內存等)Slot(槽)Container(容器)4.3.5

YARN對MapReduce運行性能提升主要特點:ResourceManager與ApplicationMaster分離性能提升:可以擴展支持10000個節點,100000個任務YARN調度器(Scheduler)044.4.1

YARN調度器類似一個工廠,接到很多訂單,比如一個訂單是1W件,一個是100件等等,工人是有限的,采用什么樣的策略來安排達到資源利用率最高?這就是調度器所要考慮的。YARN調度器分三種:(1)FIFOScheduler→先進先出調度器(2)CapacityScheduler→容器調度器(3)FairScheduler→公平調度器4.4.1

YARN調度器(1)FIFOScheduler最簡單的調度器job1運行完后,job2才能獲取到資源4.4.1

YARN調度器(2)CapacitySchedule分成多個隊列,每個隊列占用一定資源可以看作是FIFOScheduler的多隊列版本。每個隊列可以限制資源使用量。但是,隊列間的資源分配以使用量作排列依據,使得容量小的隊列有競爭優勢。注意:如果不限制某隊列最大容量,則運行過程中,它可以占用全部資源。4.4.1

YARN調度器(2)CapacityScheduleYARN默認采用CapacityScheduler4.4.1

YARN調度器(3)FairScheduler剛開始,job1占用100%資源job2提交后,job1、job2各占50%job2運行完后,job1又占100%假設每個任務具有相同的優先級,平均分配系統的資源4.4.2三種調度器比較調度器工作方法FIFOScheduler(1)單隊列(2)先進先出的原則

溫馨提示

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

評論

0/150

提交評論