hadoop2.x學習筆記(一):YARN


一、YARN產生的背景

MapReduce1.x存在的問題:單點故障&節點壓力大不易擴展。

資源利用率&成本

催生了YARN的誕生 

不同計算框架可以共享同一個HDFS集群上的數據,享受整體的資源調度。

XXX on YARN的好處:與其他計算框架共享集群資源,按資源需要分配,進而提高集群資源的利用率。

XXX:Spark/MapReduce/Storm/Flink

二、YARN概述

1 Yet Another Resource Negotiator

2 通用資源管理系統

3 為上層應用提供統一的資源管理和調度

三、YARN的架構

1 ResourceMananger:RM

  整個集群提供服務的RM只有一個(生產中有兩個,一個主,一個備),負責集群資源的統一管理和調度。

    |-- 處理客戶端的請求:提交一個作業、殺死一個作業。

    |--監控NM,一旦某個NM掛了,那么該NM上運行的任務需要告訴AM如何進行處理。

2 NodeManager:NM

  整個集群中有多個,負責自己本身節點資源管理和使用。

    |--定時向RM匯報本節點的資源使用情況。

    |--接收並處理來自RM的各種命令:啟動Container等。

    |--處理來自AM的命令。

    |--單個節點的資源管理。

3 ApplicationMaster:AM

  每一個應用程序對應一個:MR、Spark,負責應用程序的管理。

    |--為每個應用程序向RM申請資源(core、memory),分配給內部task。

    |--需要與NM通信:啟動/停止task,task是運行在Container里面,AM也是運行在Container里面。

4 Container

  |--封裝了CPU、Memory等資源的一個容器

  |--是一個任務運行環境的抽象。

5 Client

  |--提交作業。

  |--查詢作業的運行進度。

  |--殺死作業。

四、YARN執行流程

 

五、YARN的環境搭建

1 yarn-site.xml

<property>

  <name>yarn.nodemanager.aux-services</name>

  <value>mapreduce_shuffle</value>

</property>

2 mapred-site.xml

<property>

  <name>mapreduce.framework.name</name>

  <value>yarn</value>

</property>

3 啟動YARN相關的進程

sbin/start-yarn.sh

 

4 驗證

  |-- jps

    |--ResourceManager

    |--NodeManager

  |-- http://master01:8088/

5 停止YARN相關的進程

sbin/stop-yarn.sh

 

六、MapReduce作業提交到YARN上運行

命令:

hadoop jar hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar pi 2 3 //前者是Map的數量,后者是取樣的數量


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM