2023學(xué)年完整公開課版高可靠性Yarn2_第1頁
2023學(xué)年完整公開課版高可靠性Yarn2_第2頁
2023學(xué)年完整公開課版高可靠性Yarn2_第3頁
2023學(xué)年完整公開課版高可靠性Yarn2_第4頁
2023學(xué)年完整公開課版高可靠性Yarn2_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

高可靠性Yarn(二)主要內(nèi)容2Yarn的工作原理Yarn的優(yōu)點Yarn的基本缺陷Yarn

HA3一、Yarn的工作原理4Yarn的工作原理作業(yè)提交作業(yè)初始化任務(wù)運行任務(wù)分配進度和狀態(tài)更新作業(yè)完成5Yarn的工作原理圖

6作業(yè)提交

client調(diào)用job.waitForCompletion方法,向整個集群提交MapReduce作業(yè)。新的作業(yè)ID(應(yīng)用ID)由資源管理器分配。作業(yè)的client核實作業(yè)的輸出,計算輸入的split,將作業(yè)的資源(包括Jar包,配置文件,split信息)拷貝給HDFS。最后,通過調(diào)用資源管理器的submitApplication()來提交作業(yè)。7作業(yè)初始化

當(dāng)資源管理器收到submitApplication()的請求時,就將該請求發(fā)給調(diào)度器(scheduler),調(diào)度器分配container,然后資源管理器在該container內(nèi)啟動應(yīng)用管理器進程,由節(jié)點管理器監(jiān)控(第5a和5b步)。

MapReduce作業(yè)的應(yīng)用管理器是一個主類為MRAppMaster的Java應(yīng)用。其通過創(chuàng)造一些bookkeeping對象來監(jiān)控作業(yè)的進度,得到任務(wù)的進度和完成報告(第6步)。然后其通過分布式文件系統(tǒng)得到由客戶端計算好的輸入split(第7步)。然后為每個輸入split創(chuàng)建一個map任務(wù),根據(jù)mapreduce.job.reduces創(chuàng)建reduce任務(wù)對象。8任務(wù)分配

如果作業(yè)很小,應(yīng)用管理器會選擇在其自己的JVM中運行任務(wù)。如果不是小作業(yè),那么應(yīng)用管理器向資源管理器請求container來運行所有的map和reduce任務(wù)。這些請求是通過心跳來傳輸?shù)?包括每個map任務(wù)的數(shù)據(jù)位置,比如存放輸入split的主機名和機架(rack).調(diào)度器利用這些信息來調(diào)度任務(wù),盡量將任務(wù)分配給存儲數(shù)據(jù)的節(jié)點,或者退而分配給和存放輸入split的節(jié)點相同機架的節(jié)點。9任務(wù)運行

當(dāng)一個任務(wù)由資源管理器的調(diào)度分配給一個container后,應(yīng)用管理器通過聯(lián)系節(jié)點管理器來啟動container。任務(wù)由一個主類為YarnChild的Java應(yīng)用執(zhí)行。

在運行任務(wù)之前首先本地化任務(wù)需要的資源,比如作業(yè)配置,JAR文件,以及分布式緩存的所有文件。最后,運行map或reduce任務(wù)。 YarnChild運行在一個專用的JVM中,但是YARN不支持JVM重用。10進度和狀態(tài)更新

YARN中的任務(wù)將其進度和狀態(tài)(包括counter)返回給應(yīng)用管理器,客戶端每秒(通過gressmonitor.pollinterval設(shè)置)向應(yīng)用管理器請求進度更新,展示給用戶。11作業(yè)完成

除了向應(yīng)用管理器請求作業(yè)進度外,客戶端每5分鐘都會通過調(diào)用waitForCompletion()來檢查作業(yè)是否完成。時間間隔可以通過pletion.pollinterval來設(shè)置。作業(yè)完成之后,應(yīng)用管理器和container會清理工作狀態(tài),OutputCommiter的作業(yè)清理方法也會被調(diào)用。作業(yè)的信息會被作業(yè)歷史服務(wù)器存儲以備之后用戶核查。12二、Yarn的優(yōu)點13Yarn的優(yōu)點與舊MapReduce相比,YARN采用了一種分層的集群框架,具有以下幾種優(yōu)勢。

1)Hadoop2.0提出了HDFSFederation;它讓多個NameNode分管不同的目錄進而實現(xiàn)訪問隔離和橫向擴展。對于運行中NameNode的單點故障,通過NameNode熱備方案(NameNodeHA)實現(xiàn)。

2)YARN通過將資源管理和應(yīng)用程序管理兩部分剝離開來,分別由ResourceManager和ApplicationMaster進程來實現(xiàn)。其中,ResouceManager專管資源管理和調(diào)度,而ApplicationMaster則負(fù)責(zé)與具體應(yīng)用程序相關(guān)的任務(wù)切分、任務(wù)調(diào)度和容錯等。

3)YARN具有向后兼容性,用戶在MR1上運行的作業(yè),無需任何修改即可運行在YARN之上。

14Yarn的優(yōu)點4)對于資源的表示以內(nèi)存為單位(在目前版本的Yarn中沒有考慮CPU的占用),比之前以剩余slot數(shù)目為單位更合理。5)支持多個框架,YARN不再是一個單純的計算框架,而是一個框架管理器,用戶可以將各種各樣的計算框架移植到Y(jié)ARN之上,由YARN進行統(tǒng)一管理和資源分配,由于將現(xiàn)有框架移植到Y(jié)ARN之上需要一定的工作量,當(dāng)前YARN僅可運行MapReduce這種離線計算框架。6)框架升級容易,在YARN中,各種計算框架不再是作為一個服務(wù)部署到集群的各個節(jié)點上(比如MapReduce框架,不再需要部署JobTracker、TaskTracker等服務(wù)),而是被封裝成一個用戶程序庫(lib)存放在客戶端,當(dāng)需要對計算框架進行升級時,只需升級用戶程序庫即可。15三、Yarn的基本缺陷16Yarn的基本缺陷 MapReduce的第一個版本既有優(yōu)點也有缺點。MRv1是目前使用的標(biāo)準(zhǔn)的大數(shù)據(jù)處理系統(tǒng)。但是,這種架構(gòu)存在不足,主要表現(xiàn)在大型集群上。當(dāng)集群包含的節(jié)點超過4,000個時(其中每個節(jié)點可能是多核的),就會表現(xiàn)出一定的不可預(yù)測性。其中一個最大的問題是級聯(lián)故障,由于要嘗試復(fù)制數(shù)據(jù)和重載活動的節(jié)點,所以一個故障會通過網(wǎng)絡(luò)泛洪形式導(dǎo)致整個集群嚴(yán)重惡化。

但MRv1的最大問題是多租戶。隨著集群規(guī)模的增加,一種可取的方式是為這些集群采用各種不同的模型。MRv1的節(jié)點專用于Hadoop,所以可以改變它們的用途以用于其他應(yīng)用程序和工作負(fù)載。當(dāng)大數(shù)據(jù)和Hadoop成為云部署中一個更重要的使用模型時,這種能力也會增強,因為它允許在服務(wù)器上對Hadoop進行物理化,而無需虛擬化且不會增加管理、計算和輸入/輸出開銷。17四、yarnHA18Yarn

HA架構(gòu)圖19YarnHA

ResourceManager由一對分別處于Active和Standby狀態(tài)的ResourceManager組成,它使用基于Zookeeper的選舉算法來決定ResourceManager的狀態(tài)。其中,ZKFC僅為ResourceManager的一個進程服務(wù),不是單獨存在的(區(qū)別于HDFS,它是獨立

溫馨提示

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

評論

0/150

提交評論