Mesos和YARN是怎么協(xié)同工作的

這篇文章主要講解了“Mesos和YARN是怎么協(xié)同工作的”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Mesos和YARN是怎么協(xié)同工作的”吧!

為保定等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及保定網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、成都網(wǎng)站制作、保定網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

Hadoop 2.0之后把對集群資源的管理從MapReduce v1的JobTracker中提取出來,在YARN中進行了實現(xiàn)。雖然YARN支持了多種不同的計算框架,但依舊沒有很好的解決集群資源的彈性伸縮問題。本文介紹了一個新的項目- Myriad,它把YARN和Mesos兩者的優(yōu)勢結(jié)合起來,不僅使YARN的運行使用更加靈活,而且讓整個數(shù)據(jù)中心的擴容變得更簡單。

這是一個關(guān)于兩個集群的故事。第一個是Apache Hadoop集群,其中資源與Hadoop以及進程完全隔離。另一個集群是對所有資源的描述,這些資源并不是Hadoop集群的一部分。通過這種方式來區(qū)分兩個集群是因為Hadoop通過Apache YARN(Yet Another Resource Negotiator)來管理自己的資源。對于Hadoop來說,在沒有大數(shù)據(jù)任務(wù)在隊列中時,這些資源常常是未被充分使用的。當一個大數(shù)據(jù)任務(wù)運行時,這些資源迅速被用到極限,并且在請求更多資源。這對于第一種Hadoop集群而言相當困難。

Mesos和YARN是怎么協(xié)同工作的

圖1- 獨立集群- 來源:Mesosphere and MapR,侵刪.

盡管Hadoop有意打算消除數(shù)據(jù)壁壘,但是在拆去一些壁壘的同時,其他類型的壁壘又在相同的地方產(chǎn)生。作為新的技術(shù)方案,Apache Mesos也有意消除這些壁壘。但Mesos常被用來管理“第二種集群”,這些集群包括除去Hadoop任務(wù)之外的所有資源。

前面介紹的關(guān)于Mesos和YARN的不同點,這只是開始。正如它們并不兼容,經(jīng)?;ハ喔偁?。而我的故事,講的卻是它們協(xié)同工作。

Mesos和YARN的簡介

Mesos和YARN之間的主要區(qū)別圍繞著優(yōu)先級的設(shè)計以及調(diào)度任務(wù)的方式。Mesos于2007年誕生于UC Berkeley并在Twitter和Airbnb等公司的商用下不斷被鞏固,它的設(shè)計初衷是作為整個數(shù)據(jù)中心的一個可拓展的全局資源管理器。YARN出于管理Hadoop規(guī)模的需求。在YARN出現(xiàn)之前,資源管理(功能)集成在Hadoop MapReduce V1架構(gòu)中,為了有助于MapReduce的擴展而將其移除(轉(zhuǎn)移到Y(jié)ARN中實現(xiàn))。MapReduce的Job Tracker并不能在超過上千臺的機器中有效調(diào)度MapReduce任務(wù)。YARN在下一代Hadoop生命周期中被創(chuàng)造,主要圍繞著資源擴縮。

Mesos的調(diào)度

Mesos決定了哪些資源可用,它把分配請求返回給一個應(yīng)用調(diào)度器(應(yīng)用調(diào)度器和執(zhí)行器被稱作“框架”)。這些分配請求被框架接受或者拒絕。這個模型被認為是非單體模型,因為它是一個“兩級”調(diào)度器,調(diào)度算法是可拔插的。Mesos允許任何實現(xiàn)任何調(diào)度算法,每個算法都能根據(jù)自己的策略進行接收或是拒絕分配請求,并且可以容納成千上萬種調(diào)度程序以多租戶的方式運行在同一個集群。

Mesos的兩級調(diào)度模型允許每個框架(自己)決定使用哪種算法來調(diào)度運行的工作。Mesos扮演仲裁者,在多個調(diào)度器上來調(diào)度資源,解決沖突,并且確保資源基于業(yè)務(wù)策略被公平地分發(fā)。分配請求到來時,框架會執(zhí)行任務(wù)來消費那些提供的資源?;蛘呖蚣芸梢赃x擇拒絕請求并且等待下一個分配請求。這種模型與在一臺筆記本電腦或智能手機上如何同時運行多個App十分類似,當需要更多內(nèi)存時會創(chuàng)建新的線程或請求,操作系統(tǒng)來仲裁管理所有的請求。多年的操作系統(tǒng)和分布式系統(tǒng)的實踐發(fā)展證明,這種模型的好處在于它具有良好的擴展性。它已被Google和Twitter證明。

YARN的調(diào)度

現(xiàn)在,我們再看一下YARN。當job請求到達YARN資源管理器,YARN評估所有可用的資源然后調(diào)度job。YARN以一種整體的方式,直接決定job運行的位置。在MapReduce架構(gòu)演變的過程中,重申強調(diào)YARN的出現(xiàn)十分重要。在Hadoop任務(wù)的資源規(guī)模伸縮需求的驅(qū)動下,YARN把資源管理的模型從MR的Job Tracker中獨立出來,在Resources Manager組件中實現(xiàn)。

過去一貫的Hadoop任務(wù)是持續(xù)一段時間的批處理任務(wù),YARN為了調(diào)度新的Hadoop任務(wù)進行了優(yōu)化。這意味著YARN既不是為長時間運行的服務(wù)而設(shè)計,也不是為滿足短期交互/快速響應(yīng)式請求(像簡短而快速的Spark任務(wù)),盡管它可能調(diào)度其他種類的工作負載,但這并不是一個理想的模型。MapReduce的資源需求、執(zhí)行模型和架構(gòu)需求不同于長時間運行的服務(wù),如Web服務(wù)器、SOA應(yīng)用程序或是像Spark和Storm那樣的實時任務(wù)。同時,YARN針對調(diào)度無狀態(tài)的腳本任務(wù)設(shè)計,這些任務(wù)失敗時可以任意重啟。 但它并不能處理像分布式文件系統(tǒng)或數(shù)據(jù)庫那樣的有狀態(tài)的服務(wù)。然而YARN的集中式調(diào)度器,理論上可以處理不同類型的工作負載(通過把新的算法合并到調(diào)度代碼),對于支持日益復(fù)雜的調(diào)度算法,這并不是一個輕量級的模型。

YARN vs Mesos?

在對比YARN和Mesos時,理解通用的調(diào)度能力和為什么需要在他們之間做取舍十分重要。雖然有些人可能認為YARN和Mesos大同小異,但并非如此。區(qū)別在于用戶一開始使用時需求模型的不同。每種模型沒有明確地錯誤,但每種方法會產(chǎn)出不同的長期結(jié)果。我認為這就是選擇如何使用它們的關(guān)鍵。Ben Hindman和Berkeley AMP實驗室在設(shè)計Mesos時,與Google設(shè)計Omega的團隊同期進行,Mesos系統(tǒng)得益于Google的Omega系統(tǒng)設(shè)計的經(jīng)驗,構(gòu)建了一個更好的非單體(兩階段)的調(diào)度器。

當你把如何管理數(shù)據(jù)中心作為整體來評估時,一方面使用Mesos來管理數(shù)據(jù)中心的所有資源,另一方面使用YARN來安全的管理Hadoop任務(wù),但它并不具有管理整個數(shù)據(jù)中心的能力。數(shù)據(jù)中心運營商傾向于把集群劃分為的不同區(qū)域(Hadoop集群和非Hadoop集群)來應(yīng)對這兩個場景。

在同一個數(shù)據(jù)中心使用Mesos和YARN,為了受益于資源管理器,目前需要創(chuàng)建兩個靜態(tài)分區(qū)。此時意味著當指定資源被Hadoop的YARN管理時,Mesos就無法起作用。這也許過于簡化了,盡管這么做確實有效。但本質(zhì)上,我們是想避免這種情況。

項目Myriad介紹

這不禁讓我們發(fā)問:能否讓企業(yè)和數(shù)據(jù)中心受益于YARN和Mesos的協(xié)調(diào)工作?答案是肯定的。一些著名的公司——eBay、MapR和Mesosphere共同合作了一個項目叫做Myriad.

這個開源軟件項目既是一個Mesos框架,又是一個YARN調(diào)度器,這就使得Mesos能夠管理YARN的資源請求。當一個任務(wù)到達YARN時,它會通過Myriad調(diào)度器調(diào)度它,使請求與Mesos提供的資源匹配。相應(yīng)的,Mesos也會將它傳遞給Mesos工作節(jié)點。之后,這個Mesos節(jié)點會把這個請求與一個正在執(zhí)行YARN節(jié)點的管理器的Myriad執(zhí)行器關(guān)聯(lián)。Myriad在Mesos資源啟動YARN節(jié)點管理器,啟動之后,Mesos資源會告訴YARN資源管理器哪些資源可用。這時YARN就可以隨意地使用這些資源。Myriad為Mesos的可用資源池和YARN的任務(wù)(需要用到Mesos中資源)之間架起了一座無縫連接的橋梁。

Mesos和YARN是怎么協(xié)同工作的

圖2- myriad如何工作? 來源:Mesosphere and MapR,侵刪.

這種做法的優(yōu)點是,它不僅讓你在共享的集群中彈性的使用YARN,使得YARN比最初設(shè)計時更具活力和彈性。而且,它使得數(shù)據(jù)中心的運維團隊在給YARN資源擴容時無需重新配置YARN集群。整個數(shù)據(jù)中心的擴容變得十分容易。該模型提供了一種簡單的方式運行和管理多個YARN的實現(xiàn),甚至在同一個集群上運行多個不同版本的YARN。

Mesos和YARN是怎么協(xié)同工作的

圖3- 資源共享 來源:Mesosphere and MapR,侵刪.

Myriad把YARN和Mesos兩者的優(yōu)勢結(jié)合起來。通過使用Myriad項目,讓Mesos和YARN可以協(xié)作,你可以完成一個實時業(yè)務(wù)。數(shù)據(jù)分析可以在和運行生產(chǎn)服務(wù)的相同硬件上執(zhí)行。你不再需要面臨由靜態(tài)分區(qū)引起的資源限制(和低利用率)。資源可以根據(jù)業(yè)務(wù)的需求彈性的伸縮。

感謝各位的閱讀,以上就是“Mesos和YARN是怎么協(xié)同工作的”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Mesos和YARN是怎么協(xié)同工作的這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

本文題目:Mesos和YARN是怎么協(xié)同工作的
網(wǎng)站網(wǎng)址:http://muchs.cn/article14/pppige.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、品牌網(wǎng)站制作、靜態(tài)網(wǎng)站、網(wǎng)站制作、品牌網(wǎng)站建設(shè)自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)