深入淺出Mesos(一):為軟件定義數據中心而生的操作系統

jopen 9年前發布 | 31K 次閱讀 Mesos 前端技術

Mesos是Apache下的開源分布式資源管理框架,它被稱為是分布式系統的內核。Mesos最初是由加州大學伯克 利分校的AMPLab開發的,后在推ter得到廣泛使用。InfoQ接下來將會策劃系列文章來為讀者剖析Mesos。本文是整個系列的第一篇,簡單 介紹了Mesos的背景、歷史以及架構。

注:本文翻譯自Cloud Architect Musings,InfoQ中文站在獲得作者授權的基礎上對文章進行了翻譯。


我討厭“軟件定義數據中心(SDDC)”這個詞,并不是因為我質疑這個概念,而是我發現很多公司都對這個詞有誤用,他們甚至直接把這個詞拿來套用, 并急于把自己定位為下一代數據中心的創新者。具體來說,我認為,在商用x86硬件上運行軟件(應用)并不是什么SDDC解決方案,它也不具備虛擬化硬件到 資源池的能力。真正的SDDC底層基礎架構應該可以從運行于其上的應用程序中抽象出來,并根據應用程序不斷變化的需求,動態且自動地分配、重新分配應用程 序,然后運行于數據中心的不同組件之中。

這就是為什么我一直興奮地要在后面介紹Mesos,一個Apache開源項目。為什么我對Mesos如此興奮?回想x86虛擬化之初對數據中心曾經 的承諾:通過增加服務器利用率使其更高效,通過從物理基礎架構抽象應用使其更敏捷。雖然收獲頗豐,但是以虛擬機為單位,粒度仍不夠精細,如果應用程序都過 于龐大,那就難以充分實現這一承諾。如今,飛速發展的容器技術、分布式應用程序和微服務技術正悄然改變著我們對數據中心的運行和管理方式。

試想,可否整合數據中心中的所有資源,并將它們放在一個大的虛擬池里,代替單獨的物理服務器;然后開放諸如CPU、內存和I/O這些基本資源而不是 虛擬機?同樣,可否把應用程序拆分成小的、隔離的任務單位,從而根據數據中心應用的需求,從虛擬數據中心池中動態分配任務資源?就像操作系統將PC的處理 器和RAM放入資源池,使其可以為不同的進程協調分配和釋放資源。進一步講,我們可以把Mesos作為操作系統內核,然后將數據中心看為PC。這也是正是 我想說的:Mesos正在改變數據中心,它讓真正的SDDC成為現實。

接下來我先介紹下Mesos的歷史。Mesos的起源于Google的數據中心資源管理系統Borg。你可以從WIRED雜志的這篇文章中 了解更多關于Borg起源的信息及它對Mesos影響。推ter從Google的Borg系統中得到啟發,然后就開發一個類似的資源管理系統來幫助 他們擺脫可怕的“失敗之鯨”(譯者注:見上圖)。后來他們注意到加州大學伯克利分校AMPLab正在開發的名為Mesos的項目,這個項目的負責人是 Ben Hindman,Ben是加州大學伯克利分校的博士研究生。后來Ben Hindman加入了推ter,負責開發和部署Mesos。現在Mesos管理著推ter超過30,0000臺服務器上的應用部署,“失敗之 鯨”已成往事。其他公司紛至沓來,也部署了Mesos,比如Airbnb(空中食宿網)、eBay(電子港灣)和Netflix。

Mesos是如何讓推ter和Airbnb這樣的公司,通過數據中心資源更高效的管理系統,擴展應用的呢?我們從一個相當簡單但很優雅的兩級調度架構開始說起。

上圖修改自Apache Mesos網站上的圖片,如圖所示,Mesos實現了兩級調度架構,它可以管理多種類型的應用程序。第一級調度是Master的守護進程,管理Mesos 集群中所有節點上運行的Slave守護進程。集群由物理服務器或虛擬服務器組成,用于運行應用程序的任務,比如Hadoop和MPI作業。第二級調度由被 稱作Framework的“組件”組成。Framework包括調度器(Scheduler)和執行器(Executor)進程,其中每個節點上都會運行 執行器。Mesos能和不同類型的Framework通信,每種Framework由相應的應用集群管理。上圖中只展示了Hadoop和MPI兩種類型, 其它類型的應用程序也有相應的Framework。

Mesos Master協調全部的Slave,并確定每個節點的可用資源,
聚合計算跨節點的所有可用資源的報告,然后向注冊到Master的Framework(作為Master的客戶端)發出資源邀約。Framework可以 根據應用程序的需求,選擇接受或拒絕來自master的資源邀約。一旦接受邀約,Master即協調Framework和Slave,調度參與節點上任 務,并在容器中執行,以使多種類型的任務,比如Hadoop和Cassandra,可以在同一個節點上同時運行。

我將在接下來的文章中,詳細介紹Mesos的體系結構和工作流。我認為,Mesos使用的兩級調度架構以及算法、隔離技術讓在同一個節點上運行多種 不同類型的應用成為了現實,這才是數據中心的未來。正如我之前所述,這是到目前為止我所見過的,履行SDDC承諾最好的現成技術。

我希望這篇介紹讓你受用并吊起你了解Mesos的胃口。接下來,我將帶你深入技術細節,教你一些上手方法,還會告訴你如何加入社區。

查看英文原文: APACHE MESOS: THE TRUE OS FOR THE SOFTWARE DEFINED DATA CENTER?

來自:http://www.infoq.com/cn/articles/analyse-mesos-part-01

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!