好程式設計師大資料學習資料之YARN資源管理
好程式設計師大資料學習資料之YARN資源管理 , YARN是一種新的 Hadoop 資源管理器,它是一個通用資源管理系統,可為上層應用提供統一的資源管理和排程,它的引入為叢集在利用率、資源統一管理和資料共享等方面帶來了巨大好處。
YARN總體上仍然是master/slave結構,在整個資源管理框架中,resourcemanager為master,nodemanager是slave。Resourcemanager負責對各個nademanger上資源進行統一管理和排程。當使用者提交一個應用程式時,需要提供一個用以跟蹤和管理這個程式的ApplicationMaster,它負責向ResourceManager申請資源,並要求NodeManger啟動可以佔用一定資源的任務。由於不同的ApplicationMaster被分佈到不同的節點上,因此它們之間不會相互影響。
YARN的基本組成結構,YARN主要由ResourceManager、NodeManager、ApplicationMaster和Container等幾個元件構成。
ResourceManager是Master上一個獨立執行的程式,負責叢集統一的資源管理、排程、分配等等;NodeManager是Slave上一個獨立執行的程式,負責上報節點的狀態;App Master和Container是執行在Slave上的元件,Container是yarn中分配資源的一個單位,包涵記憶體、CPU等等資源,yarn以Container為單位分配資源。Client向ResourceManager提交的每一個應用程式都必須有一個Application Master,它經過ResourceManager分配資源後,執行於某一個Slave節點的Container中,具體做事情的Task,同樣也執行與某一個Slave節點的Container中。RM,NM,AM乃至普通的Container之間的通訊,都是用RPC機制。
YARN的架構設計使其越來越像是一個雲作業系統,資料處理作業系統 。
最後 提及 YARN的資源管理, 我們可以從以下幾個方面進行理解:
1. 資源排程和隔離是 yarn作為一個資源管理系統,最重要且最基礎的兩個功能。資源排程由resourcemanager完成,而資源隔離由各個nodemanager實現。
2. Resourcemanager將某個nodemanager上資源分配給任務(這就是所謂的“資源排程”)後,nodemanager需按照要求為任務提供相應的資源,甚至保證這些資源應具有獨佔性,為任務執行提供基礎和保證,這就是所謂的資源隔離。
3. 當談及到資源時,我們通常指記憶體、 cpu、io三種資源。Hadoop yarn目前為止僅支援cpu和記憶體兩種資源管理和排程。
4. 記憶體資源多少決定任務的生死,如果記憶體不夠,任務可能執行失敗;相比之下, cpu資源則不同,它只會決定任務的快慢,不會對任務的生死產生影響。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2647890/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 好程式設計師大資料學習路線分享大資料之字串程式設計師大資料字串
- 好程式設計師大資料學習路線分享大資料之執行緒程式設計師大資料執行緒
- 好程式設計師大資料學習路線之mapreduce概述程式設計師大資料
- 好程式設計師大資料學習路線分享大資料之基礎語法程式設計師大資料
- 好程式設計師大資料學習路線分享spark之Scala程式設計師大資料Spark
- 好程式設計師大資料學習路線之zookeeper乾貨程式設計師大資料
- 好程式設計師大資料學習路線分享MAPREDUCE程式設計師大資料
- 好程式設計師大資料學習路線分享SparkSQl程式設計師大資料SparkSQL
- 好程式設計師大資料培訓分享大資料還學嗎?程式設計師大資料
- 好程式設計師大資料學習路線分享Scala系列之物件程式設計師大資料物件
- 好程式設計師大資料學習路線之hive儲存格式程式設計師大資料Hive
- 好程式設計師大資料學習路線之大資料自學路線二程式設計師大資料
- 好程式設計師大資料學習路線之大資料自學路線一程式設計師大資料
- 好程式設計師大資料學習路線分享Hbase指令學習程式設計師大資料
- 好程式設計師大資料學習路線Hbase總結程式設計師大資料
- 好程式設計師大資料學習筆記:Storm架構程式設計師大資料筆記ORM架構
- 好程式設計師大資料培訓教你快速學習MapReduce程式設計師大資料
- 好程式設計師大資料學習路線分享Scala系列之抽象類程式設計師大資料抽象
- 好程式設計師大資料學習路線分享Scala系列之泛型程式設計師大資料泛型
- 好程式設計師大資料學習路線之hive表的查詢程式設計師大資料Hive
- 好程式設計師大資料學習路線分享Scala系列之陣列程式設計師大資料陣列
- 大資料學習筆記之十二 雲端計算資源管理大資料筆記
- 好程式設計師大資料培訓分享怎樣進行大資料入門學習程式設計師大資料
- 好程式設計師大資料教程分享實用的大資料之陣列程式設計師大資料陣列
- 好程式設計師大資料學習路線分享Map學習筆記程式設計師大資料筆記
- 好程式設計師大資料學習路線分享HDFS學習總結程式設計師大資料
- 好程式設計師大資料學習路線分享hdfs學習乾貨程式設計師大資料
- 好程式設計師大資料學習路線分享Actor學習筆記程式設計師大資料筆記
- 好程式設計師大資料教程Scala系列之類程式設計師大資料
- 好程式設計師大資料學習路線分享彈性分散式資料集RDD程式設計師大資料分散式
- 好程式設計師大資料學習路線分享Lambda表示式程式設計師大資料
- 好程式設計師大資料學習路線分享UDF函式程式設計師大資料函式
- 好程式設計師大資料學習路線分享HDFS讀流程程式設計師大資料
- 好程式設計師大資料學習路線分享AWK詳解程式設計師大資料
- 好程式設計師大資料學習路線之Logstach與flume對比程式設計師大資料
- 好程式設計師大資料學習路線分享Scala系列之對映Map程式設計師大資料
- 好程式設計師大資料學習路線分享Scala系列之基礎篇程式設計師大資料
- 好程式設計師大資料學習路線Hadoop學習乾貨分享程式設計師大資料Hadoop