統(tǒng)一資源管理與調(diào)度平臺(系統(tǒng))介紹

1. 背景

隨著互聯(lián)網(wǎng)的高速發(fā)展,基于數(shù)據(jù)密集型應(yīng)用的計(jì)算框架不斷出現(xiàn),從支持離線處理的MapReduce,到支持在線處理的Storm,從迭代式計(jì)算框架Spark到流式處理框架S4,…,各種框架誕生于不同的公司或者實(shí)驗(yàn)室,它們各有所長,各自解決了某一類應(yīng)用問題。而在大部分互聯(lián)網(wǎng)公司中,這幾種框架可能都會采用,比如對于搜索引擎公司,可能的技術(shù)方案如下:網(wǎng)頁建索引采用MapReduce框架,自然語言處理/數(shù)據(jù)挖掘采用Spark(網(wǎng)頁P(yáng)ageRank計(jì)算,聚類分類算法等,【注】Spark現(xiàn)在不太成熟,很少有公司嘗試使用),對性能要求很高的數(shù)據(jù)挖掘算法用MPI等。考慮到資源利用率,運(yùn)維成本,數(shù)據(jù)共享等因素,公司一般希望將所有這些框架部署到一個(gè)公共的集群中,讓它們共享集群的資源,并對資源進(jìn)行統(tǒng)一使用,這樣,便誕生了資源統(tǒng)一管理與調(diào)度平臺,典型代表是Mesos和YARN。

本文總結(jié)了資源統(tǒng)一管理與調(diào)度平臺產(chǎn)生背景以及它們所應(yīng)具有的特點(diǎn),并對比了當(dāng)前比較有名的資源統(tǒng)一管理與調(diào)度平臺Mesos和YARN。

2.?資源統(tǒng)一管理和調(diào)度平臺具有的特點(diǎn)

(1)支持多種計(jì)算框架

資源統(tǒng)一管理和調(diào)度平臺應(yīng)該提供一個(gè)全局的資源管理器。所有接入的框架要先向該全局資源管理器申請資源,申請成功之后,再由框架自身的調(diào)度器決定資源交由哪個(gè)任務(wù)使用,也就是說,整個(gè)大的系統(tǒng)是個(gè)雙層調(diào)度器,第一層是統(tǒng)一管理和調(diào)度平臺提供的,另外一層是框架自身的調(diào)度器。

資源統(tǒng)一管理和調(diào)度平臺應(yīng)該提供資源隔離。不同的框架中的不同任務(wù)往往需要的資源(內(nèi)存,CPU,網(wǎng)絡(luò)IO等)不同,它們運(yùn)行在同一個(gè)集群中,會相互干擾,為此,應(yīng)該提供一種資源隔離機(jī)制避免任務(wù)之間由資源爭用導(dǎo)致效率下降。

(2)擴(kuò)展性

現(xiàn)有的分布式計(jì)算框架都會將系統(tǒng)擴(kuò)展性作為一個(gè)非常重要的設(shè)計(jì)目標(biāo),比如Hadoop,好的擴(kuò)展性意味著系統(tǒng)能夠隨著業(yè)務(wù)的擴(kuò)展線性擴(kuò)展。資源統(tǒng)一管理和調(diào)度平臺融入多種計(jì)算框架后,不應(yīng)該破壞這種特性,也就是說,統(tǒng)一管理和調(diào)度平臺不應(yīng)該成為制約框架進(jìn)行水平擴(kuò)展。

(3)容錯(cuò)性

同擴(kuò)展性類似,容錯(cuò)性也是當(dāng)前分布式計(jì)算框架的一個(gè)重要設(shè)計(jì)目標(biāo),統(tǒng)一管理和調(diào)度平臺在保持原有框架的容錯(cuò)特性基礎(chǔ)上,自己本身也應(yīng)具有良好的容錯(cuò)性。

(4) 高資源利用率

如果采用靜態(tài)資源分配,也就是每個(gè)計(jì)算框架分配一個(gè)集群,往往由于作業(yè)自身的特點(diǎn)或者作業(yè)提交頻率等原因,集群利用率很低。當(dāng)將各種框架部署到同一個(gè)大的集群中,進(jìn)行統(tǒng)一管理和調(diào)度后,由于各種作業(yè)交錯(cuò)且作業(yè)提交頻率大幅度升高,則為資源利用率的提升增加了機(jī)會。

(5)細(xì)粒度的資源分配

細(xì)粒度的資源分配是指直接按照任務(wù)實(shí)際需求分配資源,而不是像MapReduce那樣將槽位作為資源分配單位。這種分配機(jī)制可大大提高資源利用率。

3.?當(dāng)前比較有名的開源資源統(tǒng)一管理和調(diào)度平臺

當(dāng)前比較有名的開源資源統(tǒng)一管理和調(diào)度平臺有兩個(gè),一個(gè)是Mesos,另外一個(gè)是YARN,下面依次對這兩個(gè)系統(tǒng)進(jìn)行介紹。

3.1?Mesos

Mesos誕生于UC Berkeley的一個(gè)研究項(xiàng)目,現(xiàn)已成為Apache Incubator中的項(xiàng)目,當(dāng)前有一些公司使用Mesos管理集群資源,比如Twitter。

總體上看,Mesos是一個(gè)master/slave結(jié)構(gòu),其中,master是非常輕量級的,僅保存了framework(各種計(jì)算框架稱為framework)和mesos slave的一些狀態(tài),而這些狀態(tài)很容易通過framework和slave重新注冊而重構(gòu),因而很容易使用了zookeeper解決mesos master的單點(diǎn)故障問題。

Mesos master實(shí)際上是一個(gè)全局資源調(diào)度器,采用某種策略將某個(gè)slave上的空閑資源分配給某一個(gè)framework,各種framework通過自己的調(diào)度器向Mesos master注冊,以接入到Mesos中;而Mesos slave主要功能是匯報(bào)任務(wù)的狀態(tài)和啟動各個(gè)framework的executor(比如Hadoop的excutor就是TaskTracker)。

3.2?YARN

YARN是下一代MapReduce,即MRv2,是在第一代MapReduce基礎(chǔ)上演變而來的,主要是為了解決原始Hadoop擴(kuò)展性較差,不支持多計(jì)算框架而提出的。它完全不同于Hadoop MapReduce,所有代碼全部重寫而成。整個(gè)平臺由Resource Manager(master,功能是資源分配)和Node Manager組成(slave,功能是節(jié)點(diǎn)管理)。較于HadoopMapReduce,其最大特點(diǎn)是將JobTracker拆分成Resource Manager和Application Master,其中Resource Manager是全局的資源管理器,僅負(fù)責(zé)資源分配(由于Resource Manager功能簡單,所以不會嚴(yán)重制約系統(tǒng)的擴(kuò)展性),而Application Master對應(yīng)一個(gè)具體的application(如Hadoop job, Spark Job等),主要負(fù)責(zé)application的資源申請,啟動各個(gè)任務(wù)和運(yùn)行狀態(tài)監(jiān)控(沒有調(diào)度功能)。

4.?Mesos與YARN比較

Mesos與YARN主要在以下幾方面有明顯不同:

(1)框架擔(dān)任的角色

在Mesos中,各種計(jì)算框架是完全融入Mesos中的,也就是說,如果你想在Mesos中添加一個(gè)新的計(jì)算框架,首先需要在Mesos中部署一套該框架;而在YARN中,各種框架作為client端的library使用,僅僅是你編寫的程序的一個(gè)庫,不需要事先部署一套該框架。從這點(diǎn)上說,YARN運(yùn)行和使用起來更加方便。

(2)調(diào)度機(jī)制

兩種系統(tǒng)都采用了雙層調(diào)度機(jī)制,即,第一層是源管理系統(tǒng)(mesos/YARN)將資源分配給應(yīng)用程序(或框架),第二層,應(yīng)用程序?qū)⑹盏降馁Y源進(jìn)一步分配給內(nèi)部的任務(wù)。但是資源分配器智能化程度不同,mesos是基于resource offer的調(diào)度機(jī)制,包含非常少的調(diào)度語義,他只是簡單的將資源推給各個(gè)應(yīng)用程序,由應(yīng)用程序選擇是否接受資源,而mesos本身并不知道各個(gè)應(yīng)用程序資源需求;YARN則不同,應(yīng)用程序的ApplicationMaster會把各個(gè)任務(wù)的資源要求匯報(bào)給YARN,YARN則根據(jù)需要為應(yīng)用程序分配資源。

其他各個(gè)特性對比如下表:

5.?Mesos與YARN發(fā)展情況

個(gè)人認(rèn)為Mesos和YARN均不成熟,很多承諾的功能還未實(shí)現(xiàn)或者實(shí)現(xiàn)得不全,但總體看,它們發(fā)展很快,尤其是YARN,在去年年末推出Hadoop-0.23.0后,近期又推出Hadoop-0.23.1。隨著各種計(jì)算框架(如Spark,S4,Storm等)的日趨成熟,一個(gè)統(tǒng)一的資源管理和調(diào)度平臺將不可或缺。

另一個(gè)與Mesos和YARN類似的系統(tǒng)是Facebook開源的Hadoop Coroca,具體可參考:“Hadoop Corona介紹”

6.?參考資料

(1)Mesos論文:Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center. B. Hindman, A. Konwinski, M. Zaharia, A. Ghodsi, A.D. Joseph, R. Katz, S. Shenker and I. Stoica,NSDI 2011, March 2011.

(2)?Mesos官網(wǎng):http://incubator.apache.org/mesos/index.html

(3)YARN官網(wǎng):http://hadoop.apache.org/common/docs/r0.23.0/index.html

(4)下一代Apache Hadoop MapReduce框架的架構(gòu):

http://dongxicheng.org/mapreduce-nextgen/nextgen-mapreduce-introduction/

轉(zhuǎn)載自董的博客

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,885評論 6 541
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,312評論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,993評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,667評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,410評論 6 411
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,778評論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,775評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,955評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,521評論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,266評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,468評論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,998評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,696評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,095評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,385評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,193評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,431評論 2 378

推薦閱讀更多精彩內(nèi)容