十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這篇文章主要講解了“YARN是什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“YARN是什么”吧!
YARN是一種新的 Hadoop 資源管理器,它是一個(gè)通用資源管理系統(tǒng),可為上層應(yīng)用提供統(tǒng)一的資源管理和調(diào)度,它的引入為集群在利用率、資源統(tǒng)一管理和數(shù)據(jù)共享等方面帶來了巨大好處。
YARN總體上仍然是master/slave結(jié)構(gòu),在整個(gè)資源管理框架中,resourcemanager為master,nodemanager是slave。Resourcemanager負(fù)責(zé)對(duì)各個(gè)nademanger上資源進(jìn)行統(tǒng)一管理和調(diào)度。當(dāng)用戶提交一個(gè)應(yīng)用程序時(shí),需要提供一個(gè)用以跟蹤和管理這個(gè)程序的ApplicationMaster,它負(fù)責(zé)向ResourceManager申請(qǐng)資源,并要求NodeManger啟動(dòng)可以占用一定資源的任務(wù)。由于不同的ApplicationMaster被分布到不同的節(jié)點(diǎn)上,因此它們之間不會(huì)相互影響。
YARN的基本組成結(jié)構(gòu),YARN主要由ResourceManager、NodeManager、ApplicationMaster和Container等幾個(gè)組件構(gòu)成。
ResourceManager是Master上一個(gè)獨(dú)立運(yùn)行的進(jìn)程,負(fù)責(zé)集群統(tǒng)一的資源管理、調(diào)度、分配等等;NodeManager是Slave上一個(gè)獨(dú)立運(yùn)行的進(jìn)程,負(fù)責(zé)上報(bào)節(jié)點(diǎn)的狀態(tài);App Master和Container是運(yùn)行在Slave上的組件,Container是yarn中分配資源的一個(gè)單位,包涵內(nèi)存、CPU等等資源,yarn以Container為單位分配資源。Client向ResourceManager提交的每一個(gè)應(yīng)用程序都必須有一個(gè)Application Master,它經(jīng)過ResourceManager分配資源后,運(yùn)行于某一個(gè)Slave節(jié)點(diǎn)的Container中,具體做事情的Task,同樣也運(yùn)行與某一個(gè)Slave節(jié)點(diǎn)的Container中。RM,NM,AM乃至普通的Container之間的通信,都是用RPC機(jī)制。
YARN的架構(gòu)設(shè)計(jì)使其越來越像是一個(gè)云操作系統(tǒng),數(shù)據(jù)處理操作系統(tǒng)。
最后提及YARN的資源管理,我們可以從以下幾個(gè)方面進(jìn)行理解:
1.資源調(diào)度和隔離是yarn作為一個(gè)資源管理系統(tǒng),最重要且最基礎(chǔ)的兩個(gè)功能。資源調(diào)度由resourcemanager完成,而資源隔離由各個(gè)nodemanager實(shí)現(xiàn)。
2.Resourcemanager將某個(gè)nodemanager上資源分配給任務(wù)(這就是所謂的“資源調(diào)度”)后,nodemanager需按照要求為任務(wù)提供相應(yīng)的資源,甚至保證這些資源應(yīng)具有獨(dú)占性,為任務(wù)運(yùn)行提供基礎(chǔ)和保證,這就是所謂的資源隔離。
3.當(dāng)談及到資源時(shí),我們通常指內(nèi)存、cpu、io三種資源。Hadoop yarn目前為止僅支持cpu和內(nèi)存兩種資源管理和調(diào)度。
4.內(nèi)存資源多少?zèng)Q定任務(wù)的生死,如果內(nèi)存不夠,任務(wù)可能運(yùn)行失??;相比之下,cpu資源則不同,它只會(huì)決定任務(wù)的快慢,不會(huì)對(duì)任務(wù)的生死產(chǎn)生影響。
感謝各位的閱讀,以上就是“YARN是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)YARN是什么這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!