Hadoop框架:Yarn基本結構和運行原理

2020-12-23 知了V笑

一、Yarn基本結構

Hadoop三大核心組件:分布式文件系統HDFS、分布式計算框架MapReduce,分布式集群資源調度框架Yarn。Yarn並不是在Hadoop初期就有的,是在Hadoop升級發展才誕生的,典型的Master-Slave架構。

Yarn包括兩個主要進程:資源管理器Resource-Manager,節點管理器Node-Manager。

資源管理器

通常部署在獨立的伺服器,處理客戶端請求;處理集群中的資源分配和調度管理;節點管理器

管理當前節點上的資源;執行處理各種具體的命令;監視節點資源情況,並上報資源管理器;ApplicationMaster

提供容錯能力,切割數據;給應用程式申請資源並分配任務;Container

Yarn中的一個動態資源分配的概念;容器包含了一定量的內存、CPU等計算資源;由NodeManager進程啟動和管理;二、基本執行流程

向Yarn提交MapReduce應用程式程序進行調度;RM組件返回資源提交路徑和ApplicationId;RM進程NM進程通信,根據集群資源分配容器;將MRAppMaster分發到上面分配的容器上面;運行所需資源提交到HDFS上申請運行MRAppMaster;RM經過上述操作把客戶端請求轉換為Task任務;容器中運行的就是Map或者Reduce任務;任務在運行期間和MRAppMaster通信上報狀態;任務執行結束後進程註銷並且釋放容器資源;MapReduce應用開發遵循Yarn規範的MapReduceApplicationMaster,所以可以在Yarn上運行,其它計算框架如果也遵守該規範,這樣就實現資源的統一調度管理。

三、資源調度器

調度器的基本作用就是根據節點資源的使用情況和作業需求,將任務調度到各個節點上執行。單理解任務隊列的話關鍵的因素有如下幾個:進出方式,優先級,容量等。

Hadoop作業調度器主要有三種:FIFO、CapacityScheduler和FairScheduler,默認的資源調度器是CapacityScheduler。

先進先出調度器

FIFO一種批處理調度器,調度策略先按照作業的優先級高低,再按照到達時間的先後選擇被執行的作業。

容量調度器

CapacityScheduler支持多個隊列,每個隊列可配置一定的資源量,每個隊列採用FIFO調度策略,計算隊列中正在運行的任務書和計算資源的比值,選中比值小相對空閒的隊列,然後安裝作業優先級和提交時間的排序。為了防止同一個用戶的作業獨佔隊列中的資源,該調度器會對同一用戶提交的作業所佔資源量進行限定。

例如上面圖例,假設100個slot分為三個隊列(ABC),按照如下分配規則:隊列A給20%的資源,隊列B給50%的資源,隊列C給30%的資源;三個隊列都按照任務的先後順序依次執行,上面的job11、job21、job31是最先運行,也是並行運行。

公平調度器

和容量調度器原理類似,支持多隊列多用戶,每個隊列中的資源量可以配置,同一隊列中的作業公平共享隊列中所有資源。

比如有三個隊列(ABC),每個隊列中的job按照優先級分配資源,優先級越高分配的資源越多,但是每個job都會分配到資源以確保公平。在資源有限的情況下,每個job理想情況下獲得的計算資源與實際獲得的計算資源存在一種差距,,這個差距就叫做缺額。在同一個隊列中,job的資源缺額越大,越先獲得資源優先執行,作業是按照缺額的高低來先後執行的。

相關焦點

  • 更快、更強——解析Hadoop新一代MapReduce框架Yarn
    編者按:對於業界的大數據存儲及分布式處理系統來說,Hadoop 是耳熟能詳的卓越開源分布式文件存儲及處理框架,對於 Hadoop 框架的介紹在此不再累述,隨著需求的發展,Yarn 框架浮出水面, @依然光榮復興的 博客給我們做了很詳細的介紹,讀者通過本文中新舊 Hadoop MapReduce 框架的對比,更能深刻理解新的 yarn 框架的技術原理和設計思想
  • Hadoop安裝部署
    不管是CDH還是Apache社區版,我們都是使用tar包手動來部署,所有的環境需要我們一步步來操作,Hadoop的每個配置文件也需要我們手工配置,這種方式安裝的優勢比較靈活,集群伺服器也不需要連外網,但這種方式對開發人員的要求比較高,對各種開發環境和配置文件都需要了解清楚。不過這種方式更方便我們了解Hadoop的各個模塊和工作原理。
  • YARN琢磨不透?一篇文章帶你玩轉YARN!
    一、hadoop yarn 簡介Apache YARN(Yet Another Resource Negotiator) 是 hadoop 2.0 引入的集群資源管理系統。用戶可以將各種服務框架部署在 YARN 上,由 YARN 進行統一地管理和資源分配。
  • 阿里P8帶你走進YARN,一起探索YARN到底是什麼鬼東西?
    可以把yarn理解為相當於一個分布式的作業系統平臺,而mapreduce等運算程序則相當於運行於作業系統之上的應用程式,Yarn為這些程序提供運算所需的資源(內存、cpu)。 yarn並不清楚用戶提交的程序的運行機制yarn只提供運算資源的調度(用戶程序向yarn申請資源,yarn就負責分配資源)yarn中的主管角色叫ResourceManageryarn
  • Yarn 的內存分配管理機制及相關參數配置
    NM1:yarn.nodemanager.resource.memory-mb=24576MB,這個值表示節點分配給NodeManager的可用內存,也就是節點用來執行yarn任務的內存大小。這個值要根據實際伺服器內存大小來配置,比如我們hadoop集群機器內存是128GB,我們可以分配其中的80%給yarn,也就是102GB。
  • 大數據系列之Hadoop的資源管理模塊YARN
    並且採用"一個框架一個集群"的模式,也需要多個管理員管理這些集群, 進而增加運維成本;而共享集群模式通常需要少數管理員即可完成多個框架的統一管理; 隨著數據量的暴增,跨集群間的數據移動不僅需要花費更長的時間,且硬體成本也會大大增加;而共享集群模式可讓多種框架共享數據和硬體資源,將大大減少數據移動帶來的成本。
  • 電動葫蘆的基本結構、基本原理、操作原理
    其基本技術參數主要有:起重量、起升高度、跨度、幅度、工作速度、生產率、工作級別等。起重設備具有作業面積大、使用場合廣泛的特點,大大地減輕了操作工人的勞動強度,是工廠、礦山、碼頭、倉庫、貨場、水壩、發電工程等場所常用的重要勞動工具。(1)基本結構:如圖7—2所示,電動葫蘆主要由兩個機構和一個系統組成。
  • 大數據入門:Hadoop Yarn組件基礎解析
    ,這樣程序才能得以運行。ResourceManager和NodeManager共同構成了數據計算框架,使Yarn具備了資源管理和協調能力。3、ApplicationMasterApplicationMaster實際上是特定計算框架的一個實例,每種計算框架都有自己的ApplicationMaster實現,負責與ResourceManager協商資源,並和NodeManager協同來執行和監控Container。
  • Spark on Yarn學習之Yarn運行過程和Yarn應用的實現
    【本文詳細介紹了Spark On Yarn 中Yarn運行過程和Yarn應用的實現,歡迎讀者朋友們閱讀、轉發和收藏!】1. Yarn 的啟動流程1.1 Yarn 啟動流程步驟整體流程如下:1.執行任務在 Container 內執行用戶提交的代碼,各個 Container 通過某個 RPC 協議向 ApplicationMaster 匯報自己的狀態和進度,以讓 ApplicationMaster 隨時掌握各個任務的運行狀態,從而可以在任務失敗時重新啟動任務。8.
  • 大數據常見的數據框架你知道的有哪些呢?
    我們常見的大數據框架hadoop,flume,hive,kafka,hbase,pig,spark.等等這些大數據框架,所謂大數據生態系統的集群,就是由這些大數據組件組成的大數據生態系統,每一個組件都有在處理各種數據的特點以及它自己獨特的優點,這些組件的出現為大數據的快速發展提供了基礎。
  • 五指山市柵條式格柵的結構原理和脫水原理
    五指山市柵條式格柵的結構原理和脫水原理你小心否則如果出了差錯你會後悔的以下是對內部進氣格柵維護措施的簡要介紹·這時我們使用格柵因為這種汙水淨化設備是目前方便的設備。格柵結構格柵架格柵機的框架被製成整體結構以便於在土木結構中提升和安裝格柵機的框架結構設有可更換的滾動條和用於引導篩網旋轉的篩網導向裝置框架底部設有可更換的半圓形導軌以在底部轉動時輔助網板轉向?
  • 數據產品經理術語之hadoop
    數據產品經理的工作描述中,「了解hadoop」是一個高頻出現的內容。大多數產品經理並沒有直接與hadoop打交道的經驗,本文希望能夠幫助大家對Hadoop有一個基礎的理解。Hadoop構建了可以運行在多個廉價小型機的分布式系統架構,以低成本的方案解決了上述問題,從而得到了行業中大量的應用。三、工作原理1. 示意圖Hadoop中的核心設計包括兩點:HDFS和MapReduce。圖中白色塊屬於HDFS,黑色塊屬於MapReduce。2.
  • 純電動汽車的基本構造與運行原理
    純電動汽車基本結構    電動汽車的整個驅動系統包括以下幾部分。    ●高壓電池,帶控制單元(用於蓄電池管理)和必要的充電器。    ●電機,帶電動控制(動力電子元件)和冷卻系統。
  • 詳解框架結構設計原理
    框架結構是多層建築物最經常使用的結構形式之一,該結構以其傳力明確而簡捷的特點,被結構工程師所青睞。框架結構的構件受力形式以受彎為主,杆件可以採用各種延性材料,形成鋼框架、鋼筋混凝土框架、勁性混凝土框架、木框架等多種框架形式。不論哪一種,其宏觀受力狀況是相同的。在這裡,以鋼筋混凝土框架為例,闡述框架結構的各種特點。
  • GTO的基本結構和基本工作原理是什麼?詳細概述
    打開APP GTO的基本結構和基本工作原理是什麼? 圖1  典型的GTO結構圖 GTO的基本結構和基本工作原理與普通晶閘管大同小異,只是為了實現門極關斷和提高門極的控制能力而擴大了P區(與門極接觸)對N+發射區(與陰極接觸)的相對面積,並將N+區化整為零,分置於
  • 吊車基本結構及原理教程專區
    5581 26 查看更多 吊車基本結構及原理教程專區簡介 鐵甲網【吊車基本結構及原理教程】專區,為您匯總有關【吊車基本結構及原理教程】的所有信息,專區內分為5大版塊,二手設備版塊可以找到【吊車基本結構及原理教程】有關的二手設備信息,了解其報價信息,熱賣品牌,熱賣地區等;論壇熱帖版塊可以直接看到為您精心挑選的鐵甲論壇中【吊車基本結構及原理教程】相關的精華帖及熱帖;機型庫版塊可以了解當前市場中,【吊車基本結構及原理教程
  • 現代前端工程化-徹底搞懂基於 Monorepo 的 lerna 模塊(從原理到實戰)
    (這個問題感覺是最煩的,可能一個版本號就要去更新一下代碼並發布)lerna的核心原理 monorepo 和 multrepo 對比monorepo:是將所有的模塊統一的放在一個主幹分支之中管理。multrepo:將項目分化為多個模塊,並針對每一個模塊單獨的開闢一個 reporsitory來進行管理。
  • 以Hadoop入門大數據
    Hadoop Distributed File System (HDFS): 高吞吐分布式文件系統Hadoop YARN: 作業(Job)安排和資源調度平臺/框架Hadoop MapReduce: 運行在yarn上的大數據並行計算模型
  • 金字塔原理:3大邏輯主脈,搭建基本框架,秀出你的文字風採
    直到讀了《金字塔原理》這本書,對"邏輯"這個詞才有了更深一層的理解。圖片來自網絡三那麼,《金字原理》能幫助你解決哪些邏輯問題?又能達到怎樣的效果?先讓我們一起來看看金字塔的基本結構,即文章的基本框架:最高層——塔尖,代表的是中心思想,也就是你寫一篇文章所要表達的觀點和結論。