您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“Apache Hadoop的MapReduce有什么優(yōu)點(diǎn)”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Apache Hadoop的MapReduce有什么優(yōu)點(diǎn)”吧!
MapReduce已經(jīng)在hadoop-0.23中經(jīng)歷了徹底的檢修,現(xiàn)在,我們有了稱之為MapReduce2.0(MRv2) 或者 YARN的新的框架。
MRv2基本的理念是將JobTracker中兩個(gè)主要的功能(資源管理和作業(yè)調(diào)度/監(jiān)控),拆分為單獨(dú)的守護(hù)進(jìn)程。想法就是有一個(gè)全局的ResourceMaager(RM)和對(duì)應(yīng)每個(gè)應(yīng)用的ApplicationMaster(AM)。一個(gè)Application是傳統(tǒng)意義上的一個(gè)Map-Reduce 或者DAG 的作業(yè)。
ResourceManager和每臺(tái)節(jié)點(diǎn)上從屬的NodeManager(NM),構(gòu)成了數(shù)據(jù)計(jì)算的框架。RM是最終權(quán)威仲裁系統(tǒng)資源在所有應(yīng)用中(的分配)。
事實(shí)上,每個(gè)應(yīng)用的ApplicationMaster 是一個(gè)用來(lái)向RM協(xié)商資源,與NodeManager(s)一起工作,執(zhí)行和監(jiān)控任務(wù)的特定框架庫(kù)。
ResourceManager有兩個(gè)重要的組件:Scheduler和ApplicationsManager。
Scheduler負(fù)責(zé)為各式各樣運(yùn)行中的應(yīng)用分配受限制的資源,比如相似的約束,容量,隊(duì)列等等。Scheduler就只是一個(gè)scheduler,不監(jiān)控和跟蹤應(yīng)用的狀態(tài)。還有,他不會(huì)保證重啟那些由于應(yīng)用失敗或是硬件失敗的任務(wù)。Scheduler基于applications的資源需求來(lái)執(zhí)行他的調(diào)度功能;基于將memory、cpu、network、disk等元素合并進(jìn)來(lái)的抽象概念--資源容器Container。在第一個(gè)版本中,只支持memory。
Scheduler有一個(gè)可插入策略的插件,負(fù)責(zé)在不同隊(duì)列,應(yīng)用間對(duì)集群的資源進(jìn)行分區(qū)。當(dāng)前Map-Reduce schedulers,比如CapacityScheduler,FairScheduler就是這個(gè)插件的一些例子。
CapacityScheduler顧及共享的集群資源更容易預(yù)測(cè),支持分層級(jí)的隊(duì)列。
ApplicationsManager負(fù)責(zé)接收任務(wù)的提交,協(xié)商第一個(gè)用來(lái)執(zhí)行特定ApplicationMaster的容器,提供在(任務(wù)?)失敗時(shí)重啟ApplicationMaster容器的服務(wù)。
NodeManager是每臺(tái)機(jī)器的代理框架,負(fù)責(zé)containers,監(jiān)控他們(機(jī)器)的資源使用情況(cpu,memory,disk,network),同時(shí)報(bào)告給ResourceManager/Scheduler。
每個(gè)應(yīng)用的ApplicationMaster負(fù)責(zé)與Scheduler協(xié)商合適的資源容器,并跟蹤他們的狀態(tài),監(jiān)控進(jìn)展。
MRV2 兼容之前的穩(wěn)定版本(hadoop-1.x),這意味著所愿的Map-Reduce jobs 只需要重統(tǒng)計(jì)一下就可以奔跑在MRV2之上了。
 
 
理解:YARN框架是建立在之前的Map-Reduce之上,將之前JobTracker的兩個(gè)主要功能進(jìn)行了拆分,分家,資源一家(RM老大),監(jiān)控一家(NM,ApplicationMaster),各自分工明確。
RM又把他的活分派給了兩個(gè)小頭目(Scheduler,ApplicationsManager),job的接收就交給ApplicationsManager來(lái)做,job的調(diào)度就交給Scheduler,ApplicationsManager還要負(fù)責(zé)失敗時(shí)重啟ApplicationMaster,兼任多職啊。
監(jiān)控的活也細(xì)分了,節(jié)點(diǎn)的情況(內(nèi)存,CPU,硬盤(pán),網(wǎng)絡(luò)等)就由NM來(lái)負(fù)責(zé)監(jiān)控并上報(bào)給領(lǐng)導(dǎo)(RM),再細(xì)點(diǎn)說(shuō),應(yīng)該是上報(bào)給Scheduler小頭目,這樣他在調(diào)度的時(shí)候就會(huì)根據(jù)你這臺(tái)節(jié)點(diǎn)的狀態(tài)來(lái)分配任務(wù)。而每個(gè)應(yīng)用的狀態(tài)和進(jìn)展,就交由各自的ApplicationMaster來(lái)監(jiān)控了,如果ApplicationMaster掛了(任務(wù)?),沒(méi)事,ApplicationsManager來(lái)幫你重啟。
到此,相信大家對(duì)“Apache Hadoop的MapReduce有什么優(yōu)點(diǎn)”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。