1.Yarn基本服務組件
Yarn是一種新的 Hadoop資源管理器,它是一個通用資源管理系統(tǒng),可為上層應用提供統(tǒng)一的資源管理和調度,它的引入為集群在利用率、資源統(tǒng)一管理和數(shù)據(jù)共享等方面帶來了巨大好處。
創(chuàng)新互聯(lián)公司成立于2013年,先為新樂等服務建站,新樂等地企業(yè),進行企業(yè)商務咨詢服務。為新樂企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。

- ResourceManager(RM):負責對各NM上的資源進行統(tǒng)一管理和調度。將AM分配空閑的Container運行并監(jiān)控其運行狀態(tài)。對AM申請的資源請求分配相應的空閑Container。主要由兩個組件構成:調度器和應用程序管理器。
- 調度器(Scheduler):調度器根據(jù)容量、隊列等限制條件(如每個隊列分配一定的資源,最多執(zhí)行一定數(shù)量的作業(yè)等),將系統(tǒng)中的資源分配給各個正在運行的應用程序。調度器僅根據(jù)各個應用程序的資源需求進行資源分配,而資源分配單位是Container,從而限定每個任務使用的資源量。Shceduler不負責監(jiān)控或者跟蹤應用程序的狀態(tài),也不負責任務因為各種原因而需要的重啟(由ApplicationMaster負責)。總之,調度器根據(jù)應用程序的資源要求,以及集群機器的資源情況,為應用程序分配封裝在Container中的資源。
調度器是可插拔的,例如CapacityScheduler、FairScheduler。 - 應用程序管理器(Applications Manager):應用程序管理器負責管理整個系統(tǒng)中所有應用程序,包括應用程序提交、與調度器協(xié)商資源以啟動AM、監(jiān)控AM運行狀態(tài)并在失敗時重新啟動等,跟蹤分給的Container的進度、狀態(tài)也是其職責。
- NodeManager(NM):NM是每個節(jié)點上的資源和任務管理器。它會定時地向RM匯報本節(jié)點上的資源使用情況和各個Container的運行狀態(tài);同時會接收并處理來自AM的Container 啟動/停止等請求。
- ApplicationMaster(AM):用戶提交的應用程序均包含一個AM,負責應用的監(jiān)控,跟蹤應用執(zhí)行狀態(tài),重啟失敗任務等。ApplicationMaster是應用框架,它負責向ResourceManager協(xié)調資源,并且與NodeManager協(xié)同工作完成Task的執(zhí)行和監(jiān)控。MapReduce就是原生支持的一種框架,可以在YARN上運行Mapreduce作業(yè)。有很多分布式應用都開發(fā)了對應的應用程序框架,用于在YARN上運行任務,例如Spark,Storm等。如果需要,我們也可以自己寫一個符合規(guī)范的YARN application。
- Container:是YARN中的資源抽象,它封裝了某個節(jié)點上的多維度資源,如內存、CPU、磁盤、網(wǎng)絡等,當AM向RM申請資源時,RM為AM返回的資源便是用Container 表示的。YARN會為每個任務分配一個Container且該任務只能使用該Container中描述的資源。
2.Yarn的資源管理
1.資源調度和隔離是yarn作為一個資源管理系統(tǒng),最重要且最基礎的兩個功能。資源調度由resourcemanager完成,而資源隔離由各個nodemanager實現(xiàn)。
2.Resourcemanager將某個nodemanager上資源分配給任務(這就是所謂的“資源調度”)后,nodemanager需按照要求為任務提供相應的資源,甚至保證這些資源應具有獨占性,為任務運行提供基礎和保證,這就是所謂的資源隔離。
3.當談及到資源時,我們通常指內存、cpu、io三種資源。Hadoop yarn目前為止僅支持cpu和內存兩種資源管理和調度。
4.內存資源多少決定任務的生死,如果內存不夠,任務可能運行失敗;相比之下,cpu資源則不同,它只會決定任務的快慢,不會對任務的生死產(chǎn)生影響。
相關參數(shù):
memory參數(shù):
- 1.yarn.nodemanager.resource.memory-mb
表示該節(jié)點上yarn可以使用的物理內存總量,默認是8192m,注意,如果你的節(jié)點內存資源不夠8g,則需要調減這個值,yarn不會智能的探測節(jié)點物理內存總量 可調節(jié)為本地內存的80% - 2.yarn.nodemanager.vmem-pmem-ratio
任務使用1m物理內存最多可以使用虛擬內存量,默認是2.1 - 3.yarn.nodemanager.pmem-check-enabled
是否啟用一個線程檢查每個任務證使用的物理內存量,如果任務超出了分配值,則直接將其kill,默認是true。 - 4.yarn.nodemanager.vmem-check-enabled
是否啟用一個線程檢查每個任務證使用的虛擬內存量,如果任務超出了分配值,則直接將其kill,默認是true。 - 5.yarn.scheduler.minimum-allocation-mb
單個任務可以使用最小物理內存量,默認1024m,如果一個任務申請物理內存量少于該值,則該對應值改為這個數(shù)。 - 6.yarn.scheduler.maximum-allocation-mb
單個任務可以申請的最多的內存量,默認8192m
CPU參數(shù): - 1.yarn.nodemanager.resource.cpu-vcores
表示該節(jié)點上yarn可使用的虛擬cpu個數(shù),默認是8個,注意,目前推薦將該值為與物理cpu核數(shù)相同。如果你的節(jié)點cpu合數(shù)不夠8個,則需要調減小這個值,而yarn不會智能的探測節(jié)點物理cpu總數(shù)。 - 2.yarn.scheduler.minimum-allocation-vcores
單個任務可申請最小cpu個數(shù),默認1,如果一個任務申請的cpu個數(shù)少于該數(shù),則該對應值被修改為這個數(shù) - 3.yarn.scheduler.maximum-allocation-vcores
單個任務可以申請最多虛擬cpu個數(shù),默認是32.
當前標題:Yarn架構設計詳解
本文鏈接:http://www.chinadenli.net/article42/iepgec.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站排名、網(wǎng)站維護、定制網(wǎng)站、品牌網(wǎng)站設計、網(wǎng)站收錄
廣告
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源:
創(chuàng)新互聯(lián)