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

2020-12-15 知了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環境搭建
    ;value>yarn</value></property>#指定mapreduce運行在yarn框架上。yarn.resourcemanager.hostname指定了Resourcemanager運行在哪個節點上。
  • 最詳細的 Hadoop 入門教程
    將hadoop文件夾的所有者指定為hadoop用戶如果存放hadoop的目錄的所有者不是hadoop,之後hadoop運行中可能會有權限問題,那麼就講所有者改為hadoop。指定 mapreduce 運行在 yarn 框架上。
  • java大數據之Hadoop開發環境
    JAVA和大數據是什麼關係大數據框架的編寫支持很多開發語言,但是Java在大數據開發方面有很大的優勢,目前流行的大數據Hadoop
  • Hadoop大數據面試題全版本
    描述Hbase,ZooKeeper搭建過程48.hadoop運行原理答:hadoop的主要核心是由兩部分組成,HDFS和mapreduce,首先HDFS的原理就是分布式的文件存儲系統,將一個大的文件,分割成多個小的文件,進行存儲在多臺伺服器上。
  • CDP-DC7.1中的 YARN:新增功能和升級方法
    該新產品結合了Cloudera Distribution Hadoop和Hortonworks Data Platform Enterprise(分別為CDH和HDP以後)的最佳功能,以及堆棧中的新功能和增強功能。此統一分發是可擴展和可定製的平臺,您可以在其中安全地運行多種類型的工作負載。有關CDP DC 7.1的完整視圖,請參閱文檔 。
  • 神一般的Scrapy框架,Python中Scrap的基本結構和去重原理
    "Scrapy的基本結構是什麼樣的, Scrapy的指紋去重到底是什麼原理",面試官經常這麼問.1.scrapy的基本結構(五個部分都是什麼,請求發出去的整個流程)2.scrapy的去重原理(指紋去重到底是什麼原理)看來大家都發現了標題中Scrapy掉了一個y,以後小編會改正的,謝謝大家的提醒一、Scrapy
  • Hadoop之wordcount實例-MapReduce程序
    Hadoop 的MapReduce處理框架,一般的編程模型如下圖所示, 將一個業務拆分為 Mapper 和 Reducer 兩個階段。使用 Python 語言背後的「技巧」是我們將使用 Hadoop Streaming API 來幫助我們通過 STDIN(標準輸入)和 STDOUT(標準輸出)在 Map 和 Reduce 代碼之間傳遞數據。
  • hadoop實戰,學習大數據先從基礎開始吧!
    hadoop是大數據的總稱,在系統學習大數據以前,我們要學會對性能進行調優。前面已經介紹對硬體選擇和作業系統的調優,接下來繼續介紹hadoop參數及hive的調優。調優之Hadoop參數調優傳統MapReduce和yarn對比如果伺服器物理內存128G,則容器內存建議為100比較合理配置總量時考慮系統調優塊,雙路四核2*4*2
  • Hadoop常見面試題匯總
    的配置文件有core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、workers2、簡單的集群搭建過程:JDK安裝配置SSH免密登錄配置hadoop核心文件格式化namenode
  • Hadoop_05_完全分布式運行模式(重點)
    scp -r hadoop131:/opt/module/hadoop-2.7.2 hadoop132:/opt/module#2.在hadoop131上,將hadoop131中/etc/profile目錄下的軟體拷貝到hadoop132上。
  • Java從WordCount看hadoop執行流程
    準備要執行Map reduce程序,首先得安裝hadoop,hadoop安裝可以參考hadoop安裝啟動hdfs和yarnstart-dfs.cmdstart-yarn.cmd創建待處理數據目錄:hadoop fs -mkdir /wchadoop fs -mkdir /wc/in# 查看目錄hadoop fs -ls -R /上傳待處理數據文件:hadoop fs
  • YARN & Mesos,論集群資源管理所面臨的挑戰
    尤其是升級到spark 1.4.0以後,在YARN上運行時經常遇到這個問題,今天主要是和大家分享一下Spark on YARN環境下classpath的問題。總結了一下Spark在YARN上的class加載規則,供大家參考(以下內容針對Spark1.4.0版本YARN client模式)。
  • 搞懂Hadoop、MapReduce、Hive、HBase、YARN及Spark的區別與聯繫
    Hadoop、MapReduce、Hive、HBase、YARN、Spark……初搞大數據的,面對一堆名詞,猶如走進森林,弄得焦頭爛額……別說深入底層架構原理,就連他們之間的區別聯繫,有時候,都搞迷糊……
  • 大數據入門:Hadoop Yarn組件基礎解析
    ,這樣程序才能得以運行。ResourceManager和NodeManager共同構成了數據計算框架,使Yarn具備了資源管理和協調能力。3、ApplicationMasterApplicationMaster實際上是特定計算框架的一個實例,每種計算框架都有自己的ApplicationMaster實現,負責與ResourceManager協商資源,並和NodeManager協同來執行和監控Container。
  • Apache Hadoop 3.0.0 GA 正式發布,要求 Java 8
    更多關於HDFS的糾刪碼可以參見http://hadoop.apache.org/docs/r3.0.0-beta1/hadoop-project-dist/hadoop-hdfs/HDFSErasureCoding.html或者直接閱讀本博客Hadoop 3.0糾刪碼(Erasure Coding):節省一半存儲空間的相關介紹。
  • Hadoop極簡教程
    Hadoop概述Hadoop是一個用於分布式大數據處理的編程框架。,可以實現對文件系統的操作(一般的操作方式有兩種,命令行方式和Java API方式)•維護文件系統的目錄結構(用來對文件進行分類管理)。
  • Facebook 新推 Yarn,或取代 npm 客戶端
    結構在 Node 生態系統中,依賴通常安裝在項目的 node_modules 文件夾中。然而,這個文件的結構和實際依賴樹可能有所區別,因為重複的依賴可以合併到一起。npm 客戶端把依賴安裝到 node_modules目錄的過程具有不確定性。這意味著當依賴的安裝順序不同時,node_modules 目錄的結構可能會發生變化。
  • 五指山市柵條式格柵的結構原理和脫水原理
    五指山市柵條式格柵的結構原理和脫水原理你小心否則如果出了差錯你會後悔的以下是對內部進氣格柵維護措施的簡要介紹·這時我們使用格柵因為這種汙水淨化設備是目前方便的設備。格柵結構格柵架格柵機的框架被製成整體結構以便於在土木結構中提升和安裝格柵機的框架結構設有可更換的滾動條和用於引導篩網旋轉的篩網導向裝置框架底部設有可更換的半圓形導軌以在底部轉動時輔助網板轉向?