天云培訓、西安yarn_第1頁
天云培訓、西安yarn_第2頁
天云培訓、西安yarn_第3頁
天云培訓、西安yarn_第4頁
天云培訓、西安yarn_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、YarnYarn及其產(chǎn)生背景Yarn及其產(chǎn)生背景Yarn基礎(chǔ)架構(gòu)Yarn工作流程Yarn調(diào)度詳解總結(jié)YARN 簡單介紹Yarn(Yet Another Resource Negotiator): Hadoop 的新統(tǒng)一資源管理框架。YANR本質(zhì)上是一個資源統(tǒng)一管理系統(tǒng),將各種框架運行在YARN之上,可以實現(xiàn)框架的資源統(tǒng)一管理和分配,使他們共享一個集群,而不是“一個框架一個集群”,這可大大降低運維成本和硬件成本。Yarn 產(chǎn)生背景 資源利用率Yarn 產(chǎn)生背景 運維成本與資源共享運維成本 如果采用“一個框架一個集群”的模式,則可能需要多個管理員管理這些集群,進而增加運維成本,而共享模式通常需要少

2、數(shù)管理員即可完成多個框架的統(tǒng)一管理。 數(shù)據(jù)共享 隨著數(shù)據(jù)量的暴增,跨集群間的數(shù)據(jù)移動不僅需花費更長的時間,且硬件成本也會大大增加,而共享集群模式可讓多種框架共享數(shù)據(jù)和硬件資源,將大大減小數(shù)據(jù)移動帶來的成本YARNYarn基礎(chǔ)架構(gòu)Yarn及其產(chǎn)生背景Yarn基礎(chǔ)架構(gòu)Yarn工作流程Yarn調(diào)度詳解總結(jié)YARN 基礎(chǔ)架構(gòu)Yarn 基本組件Client:主要用來提交任務(wù)請求,查詢?nèi)蝿?wù)狀態(tài)。ResourceManager(RM):主要接收客戶端任務(wù)請求,接收和監(jiān)控NodeManager(NM)的資源情況匯報,負責資源的分配與調(diào)度,啟動和監(jiān)控ApplicationMaster(AM)。NodeManag

3、er:主要是節(jié)點上的資源管理,啟動Container運行task計算,上報資源、container情況給RM和任務(wù)處理情況給AM。ApplicationMaster:主要是單個Application(Job)的task管理和調(diào)度,向RM進行資源的申請,向NM發(fā)出launchContainer指令,接收NM的task處理狀態(tài)信息。Resource Manager整個集群只有一個,負責整個集群資源的管理和調(diào)度。詳細功能處理客戶端請求啟動/監(jiān)控ApplicationMaster監(jiān)控NodeManager資源分配與調(diào)度 Resource ManagerNode Manager負責節(jié)點上的資源管理和任務(wù)

4、管理。處理來自ResourceManager的命令。處理來自ApplicationMaster的命令。整個集群有多個,負責單個節(jié)點的資源管理和使用。詳細功能Node ManagerNode Manager事件Application Master數(shù)據(jù)切分。為應(yīng)用程序申請資源,并進一步分配給內(nèi)部任務(wù)。任務(wù)監(jiān)控與容錯。每個應(yīng)用有一個,負責應(yīng)用程序的管理。詳細功能ContainerContainer任務(wù)運行環(huán)境(節(jié)點、內(nèi)存、cpu等)。任務(wù)啟動命令。任務(wù)運行環(huán)境。每個任務(wù)對應(yīng)一個,是對任務(wù)運行環(huán)境的抽象。描述信息Yarn工作流程Yarn及其產(chǎn)生背景Yarn基礎(chǔ)架構(gòu)Yarn工作流程Yarn調(diào)度詳解總結(jié)Y

5、arn工作流程Yarn工作流程1、用戶向YARN中提交應(yīng)用程序,其中包括ApplicationMaster(AM)程序,啟動AM的命令,用戶程序等。 2、ResourceManger(RM)為該程序分配第一個Container,并與對應(yīng)的NodeManger通訊,要求它在這個Container 中啟動應(yīng)用程序AM。 3、AM首先向RM注冊,這樣用戶可以直接通過RM查看應(yīng)用程序的運行狀態(tài),然后將為各個任務(wù)申請資源,并監(jiān)控 它的運行狀態(tài),直到運行結(jié)束,重復(fù)4-7的步驟。 4、AM采用輪詢的方式通過RPC協(xié)議向RM申請和領(lǐng)取資源。 5、一旦AM申請到資源后,便與對應(yīng)的NM通訊,要求它啟動任務(wù)。 6、

6、NM為任務(wù)設(shè)置好運行環(huán)境(包括環(huán)境變量、JAR包、二進制程序等)后,將任務(wù)啟動命令寫到一個腳本中,并通過 運行該腳本啟動任務(wù)。 7、各個任務(wù)通過某個RPC協(xié)議向AM匯報自己的狀態(tài)和進度,以讓AM隨時掌握各個任務(wù)的運行狀態(tài),從而可以在任務(wù) 失敗的時候重新啟動任務(wù)。 8、應(yīng)用程序運行完成后,AM向RM注銷并關(guān)閉自己。 資源申請流程Node Managent ServiceResourceSchedulerResource ManagerNodeManagerApplicationMasterAssignedcontainersTaskTaskTask1. NodeHeartbeat2. respo

7、nse3. Noade_Update4. Scheduling and allocate resource5. AppMaster Heartbeat 6. Containers as response 7. Run tasks in containersMap-Reduce應(yīng)用示例 將計算過程分為兩個階段,Map和Reduce Map 階段并行處理輸入數(shù)據(jù) Reduce階段對Map結(jié)果進行匯總 Shuffle連接Map和Reduce兩個階段 Map Task將數(shù)據(jù)寫到本地磁盤 Reduce Task從每個Map Task上讀取一份數(shù)據(jù)Map-Reduce應(yīng)用示例Yarn調(diào)度詳解Yarn及其產(chǎn)

8、生背景Yarn基礎(chǔ)架構(gòu)Yarn工作流程Yarn調(diào)度詳解總結(jié)DRF調(diào)度算法DRF Algorithm is a max-min fairness scheduling Algorithm (Paper-Dominant Resource Fairness: Fair Allocation of Multiple Resource Types”), only support CPU and MEM now Plug-in Scheduler in YARNFIFOFair SchedulerCapacity SchedulerFair/Capacity Scheduler are both bes

9、t fit schedulerYARN 調(diào)度器調(diào)度器維護一群隊列的信息。用戶可以向一個或者多個隊列提交應(yīng)用。每次NM心跳的時候,調(diào)度器,根據(jù)一定的規(guī)則選擇一個隊列,再在隊列上選擇一個應(yīng)用,嘗試在這個應(yīng)用上分配資源。調(diào)度器在分配過程中優(yōu)先匹配本地資源是申請請求,其次是同機架的,最后的任意機器的。雙層調(diào)度器上層是一個非常輕量的調(diào)度系統(tǒng),負責資源分配,但不侵入應(yīng)用的調(diào)度策略下層是具體某個應(yīng)用程序的調(diào)度器,如hadoop, storm, spark, mpi等支持資源預(yù)留 如果資源不足,調(diào)度器會保留資源請求,待資源足夠的時候優(yōu)先分配資源。Yarn 調(diào)度算法FifoScheduler:最簡單的調(diào)度器,按

10、照先進先出的方式處理應(yīng)用。只有一個隊列可提交應(yīng)用,所有用戶提交到這個隊列。可以針對這個隊列設(shè)置ACL。沒有應(yīng)用優(yōu)先級可以配置。CapacityScheduler:可以看作是FifoScheduler的多隊列版本。每個隊列可以限制資源使用量。FairScheduler:多隊列,多用戶共享資源。資源搶占特性,是指調(diào)度器能夠依據(jù)公平資源共享算法,計算每個隊列應(yīng)得的資源,將超額資源的隊列的部分容器釋放掉的特性。Capacity SchedulerYahoo開發(fā)的適合共享環(huán)境的調(diào)度器,支持多用戶多隊列管理,每個隊列可以配置資源量,也可限制每個用戶和每個隊列的并發(fā)運行作業(yè)數(shù)量,也可限制每個作業(yè)使用的內(nèi)存量

11、;每個用戶的作業(yè)有優(yōu)先級,在單個隊列中,作業(yè)按照先來先服務(wù)(實際上是先按照優(yōu)先級,優(yōu)先級相同的再按照作業(yè)提交時間)的原則進行調(diào)度。特性:1. 計算能力保證。支持多個隊列,某個作業(yè)可被提交到某一個隊列中。每個隊列會配置一定比例的計算資源,且所有提交到隊列中的作業(yè)共享該隊列中的資源。2. 靈活性??臻e資源會被分配給那些未達到資源使用上限的隊列,當某個未達到資源的隊列需要資源時,一旦出現(xiàn)空閑資源資源,便會分配給他們。3. 支持優(yōu)先級。隊列支持作業(yè)優(yōu)先級調(diào)度(默認是FIFO)4. 多重租賃。綜合考慮多種約束防止單個作業(yè)、用戶或者隊列獨占隊列或者集群中的資源。5. 基于資源的調(diào)度。 支持資源密集型作業(yè),

12、允許作業(yè)使用的資源量高于默認值,進而可容納不同資源需求的作業(yè)。不過,當前僅支持內(nèi)存資源的調(diào)度。Fair SchedulerFacebook開發(fā)的適合共享環(huán)境的調(diào)度器,支持多用戶多分組管理,每個分組可以配置資源量,也可限制每個用戶和每個分組中的并發(fā)運行作業(yè)數(shù)量;每個用戶的作業(yè)有優(yōu)先級,優(yōu)先級越高分配的資源越多。特性:1. 資源公平共享:在每個隊列中,F(xiàn)air Scheduler可選擇按照FIFO、Fair或DRF策略為應(yīng)用程序分配資源。Fair策略即平均分配,默認情況下,每個隊列采用該方式分配資源2. 支持資源搶占:當某個隊列中有剩余資源時,調(diào)度器會將這些資源共享給其他隊列,而當該隊列中有新的應(yīng)用程序提交時,調(diào)度器要為它回收資源。為了盡可能降低不必要的計算浪費,調(diào)度器采用了先等待再強制回收的策略,即如果等待一段時間后尚有未歸還的資源,則會進行資源搶占;從那些超額使用資源的隊列中殺死一部分任務(wù),進而釋放資源3. 負載均衡:Fair Scheduler提供了一個基于任務(wù)數(shù)的負載均衡機制,該機制盡可能

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論