關于Apache Mesos的一些想法
我關注Apache Mesos很長時間了。Apache Mesos從研究論文開始,2010年成為Apache孵化項目,后來從ASF“畢業”,并于2013年建立商業實體Mesosphere。
過去的幾個月,發生了許多事,因此我想,這是個好機會來寫寫關于Mesos和其生態的文章。
關于Mesos和YARN已經有很多討論了。我也看到過諸如“Mesos的資源請求模型非常落后”的評論,也注意到Mesos在過去幾年變得更加流行。這里的關鍵因素之一也許是Docker天花亂墜般的宣傳以及各自對于協作層的需要。在本篇的末尾,我們會再一次回到Mesos vs. YARN的話題。
我承認之前自己并沒有完全理解Mesos的真正潛力,直到那天坐著讀完Mesos研究論文,它包括設計哲學、資源分配、隔離保證和容錯。
Mesos應對的核心挑戰是,在不了解一個框架的前提下如何滿足對框架的 約束(constraints),這也是資源分配中最難以理解的地方。Mesos處理資源的方式就像家長主持一個孩子的生日派對:好比你要為15個孩子 (==框架)提供食物(==資源),并且不可能知道他們的喜好(==安置傾向)。但你可以提供給他們一塊披薩或者一碗芝麻菜,并且他們可以免費接受(現在 或一會之后)或者拒絕。而且,剛接一位客人下車的爸爸也許會告訴你,那人的小孩是素食主義者,那么提供牛肉漢堡(==過濾物)給那個小孩就說不通了。
有一個有趣的事實(雖然我認為這是公知的),Mesos和Spark有一個共同點:Matei Zaharia——來自一個靠近加拿大安大略的小鎮——他是加州伯克利分校AMP實驗室的學生,這個實驗室為Mesos和Spark都做了巨大貢獻。最近,他出任Databricks的CTO,Databricks是一家指導Spark的商業實體公司。
回到Mesos vs. YARN——幸運的是最近這不再是一個二選一的問題了:使用Myriad項目(由 eBay、Mesosphere和MapR的共同開發,現在交由ASF孵化),你可以讓它們在集群中共存并調度它們。簡而言之,是一個Mesos框架用來 動態擴展YARN集群,并支持運行Hadoop應用,如Spark和非Hadoop應用,如Node.js、Memcached、RoR等。激動人心的時 刻!
這就是我個人對于Apache Mesos的看法,寫于2015年二月中旬。我會繼續關注Myriad,作為初學者的你如果還未嘗試,或許你可以試試測試驅動Mesos。
原文:https://medium.com/large-scale-data-processing/thoughts-on-apache-mesos-1e1d48270665譯文:http://dockerone.com/article/211 譯者: 孫科