作者: Dong | 新浪微博: 西成懂 | 可以轉(zhuǎn)載, 但必須以超鏈接形式標(biāo)明文章原始出處和作者信息及版權(quán)聲明 網(wǎng)址:http://dongxicheng.org/mapreduce-nextgen/use-hadoop-yarn-to-build-a-cloud-system/ 本博客的文章集合:http://dongxicheng.org/recommend/ 重
作者:Dong | 新浪微博:西成懂 | 可以轉(zhuǎn)載, 但必須以超鏈接形式標(biāo)明文章原始出處和作者信息及版權(quán)聲明
網(wǎng)址:http://dongxicheng.org/mapreduce-nextgen/use-hadoop-yarn-to-build-a-cloud-system/
本博客的文章集合:http://dongxicheng.org/recommend/
(1)”相比于MRv1,YARN帶來(lái)的優(yōu)勢(shì)是什么?”
(2)”Hadoop 2.0中的基本術(shù)語(yǔ)解釋”
(3)”淺談Borg/YARN/Mesos/Torca/Corona一類(lèi)系統(tǒng)”
(4)”多集群下資源共享方案介紹”
(5)”解析Google集群資源管理系統(tǒng)Omega”
更多文章可參考:下一代Hadoop YARN全面剖析。
YARN是未來(lái)的一個(gè)趨勢(shì),YARN本身已經(jīng)變成了一個(gè)云操作系統(tǒng),很多新的計(jì)算框架或者應(yīng)用程序不再基于傳統(tǒng)的操作系統(tǒng)開(kāi)發(fā)(比如Linux),而是基于YARN這個(gè)云操作系統(tǒng),YARN提供了資源管理和資源調(diào)度等機(jī)制,這意味著,很多新的計(jì)算框架或者應(yīng)用程序脫離了YARN將不再可以單獨(dú)運(yùn)行,典型的代表是DAG計(jì)算框架Tez和Spark(Spark也可以運(yùn)行在另一個(gè)與YARN類(lèi)似的資源管理系統(tǒng)Mesos上)。
當(dāng)前很多計(jì)算框架都開(kāi)發(fā)了YARN版本,以能夠直接運(yùn)行在YARN上。本文進(jìn)行簡(jiǎn)單的梳理。
(1) MapReduce:MapReduce是一個(gè)非常經(jīng)典的離線(xiàn)計(jì)算框架,在MRv1中,MapReduce應(yīng)用程序運(yùn)行在由JobTracker和TaskTracker組成的運(yùn)行時(shí)環(huán)境中,而在YARN中,不再有JobTracker和TaskTracker這樣的服務(wù)組件,取而代之的是一個(gè)組件ApplicationMaster,它只負(fù)責(zé)應(yīng)用程序相關(guān)的管理,比如任務(wù)切分和調(diào)度、任務(wù)監(jiān)控和容錯(cuò)等,而資源相關(guān)的調(diào)度和管理交給YARN完成。
(2) Tez:Hortonworks開(kāi)源的DAG計(jì)算框架,在MAPREDUCE基礎(chǔ)上擴(kuò)展而來(lái)的,重用了MapReduce大量代碼,僅支持運(yùn)行在YARN上,不可單獨(dú)運(yùn)行。Tez介紹可參考我的這篇文章:“Apache Tez:一個(gè)運(yùn)行在YARN之上支持DAG作業(yè)的計(jì)算框架”。
(3)Storm:實(shí)時(shí)計(jì)算框架,運(yùn)行時(shí)環(huán)境由Nimbus和supervisor等組件組成,目前storm團(tuán)隊(duì)正準(zhǔn)備將其移植到Y(jié)ARN上(具體參考:storm plugin for Hadoop YARN:https://groups.google.com/forum/?fromgroups#!topic/storm-user/XBHCau0e5nA),而Yahoo甚至已經(jīng)開(kāi)源了一個(gè)簡(jiǎn)單的版本(具體見(jiàn):https://github.com/yahoo/storm-yarn)。
(4)Spark:Spark是一個(gè)基于內(nèi)存實(shí)現(xiàn)的MapReduce計(jì)算框架,某些應(yīng)用場(chǎng)景下更加高效,它目前已經(jīng)支持運(yùn)行在YARN上(https://github.com/tweetmagik/spark-yarn)。
隨著開(kāi)源界的發(fā)展和推進(jìn),最終,YARN之上可以運(yùn)行各種應(yīng)用類(lèi)型的計(jì)算框架,包括離線(xiàn)計(jì)算框架MapReduce,實(shí)時(shí)計(jì)算框架Storm,DAG計(jì)算框架Tez等,真正實(shí)現(xiàn)一個(gè)集群多用途,這樣的集群或者系統(tǒng),我們通常稱(chēng)為輕量級(jí)彈性計(jì)算平臺(tái),說(shuō)它輕量級(jí),是因?yàn)閅ARN采用了cgroups輕量級(jí)隔離方案,說(shuō)它彈性,是因?yàn)閅ARN能根據(jù)各種計(jì)算框架或者應(yīng)用的負(fù)載或者需求調(diào)整它們各自占用的資源,實(shí)現(xiàn)集群資源共享,資源彈性收縮。在不久的將來(lái),普遍采用的部署方案應(yīng)該如下:
當(dāng)然,隨著YARN朝著資源管理系統(tǒng)方向更好地發(fā)展,最終Impala和Hbase(Hbase已經(jīng)在做了,參考:https://issues.apache.org/jira/browse/HBASE-4329)這種系統(tǒng),均可以部署到Y(jié)ARN之上,這樣,凡是跟計(jì)算沾邊的系統(tǒng)均可以部署到Y(jié)ARN上。
原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明: 轉(zhuǎn)載自董的博客
本文鏈接地址: http://dongxicheng.org/mapreduce-nextgen/use-hadoop-yarn-to-build-a-cloud-system/
作者:Dong,作者介紹:http://dongxicheng.org/about/
本博客的文章集合:http://dongxicheng.org/recommend/
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com