-
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架構
從左側架構圖上可知,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. Apache Mesos .Apache Mesos 官方網站[引用日期2014-12-30]