複製鏈接
請複製以下鏈接發送給好友

Apache Mesos

鎖定
Apache Mesos是由加州大學伯克利分校的AMPLab首先開發的一款開源羣集管理軟件,支持Hadoop、ElasticSearch、Spark、Storm 和Kafka等應用架構。
中文名
Apache Mesos
外文名
Apache Mesos

Apache Mesos分佈式系統內核

Mesos使用了與Linux內核相似的規則來構造,僅僅是不同抽象層級的差別。Mesos從設備(物理機或虛擬機)抽取 CPU,內存,存儲和其他計算資源,讓容錯和彈性分佈式系統更容易使用。Mesos內核運行在每個機器上,在整個數據中心和雲環境內向應用程序(Hadoop、Spark、Kafka、Elastic Serarch等等)提供資源管理和資源負載的API接口。

Apache Mesos系統特性

  • 可擴展到10000個節點
  • 使用ZooKeeper實現Master和Slave的容錯
  • 支持Docker容器
  • 使用Linux容器實現本地任務隔離
  • 基於多資源(內存,CPU、磁盤、端口)調度
  • 提供Java,Python,C++等多種語言 APIs
  • 通過Web界面查看集羣狀態

Apache Mesos架構

Apache Mesos Apache Mesos
從左側架構圖上可知,Mesos包含兩個組件:Master Daemon和Slave Daemon,Master Daemon管理所有的Slave Daemon,Slave Daemon運行在各個節點上。
通過資源供給(Resource Offers)Master Daemon實現了跨應用的細粒度資源(CPU、內存、...)共享。每個資源供給(Resource Offers)包含一組資源列表。對照既定組織策略(例如共享屬性、優先級),Master Dameon決定提供多少資源給每個應用框架。為了支持不同的策略控制,Master Daemon使用可拔插的模塊化的架構方便增加新的策略控制機制。
運行在Mesos上的應用一般由兩部分組件組成:調度器(Scheduler)和執行進程(Executor Process)。調度器註冊在Master Daemon上用於決策資源供給,執行進運行在Slave節點上用於運行各個應用任務。當Master Daemon決定供給應用多少資源時,由調度器決定把那裏的資源提供該應用使用。當應用決定接受被提供的資源時,它會告訴Mesos需要運行的任務都是什麼,Mesos在對應的Slave節點上加載這些任務。
[1] 
參考資料