白話mesos(1)

什麼是mesos

Mesos的起源於Google的數據中心資源管理系統Borg。Mesosphere將mesos定位爲DCOS(數據中心的操作系統)。
簡單來看,mesos是一個master/slave的結構。master是一個全局資源調度器,採用某種策略把某個slave上的空閒資源分配給某個framework。master、slave、framework三者的關係如下圖所示



master作爲註冊中心,slave向master報告當前空閒資源數量,master把空閒資源數量發給framework作爲資源邀請,framework根據應用程序的需求,選擇接受或拒絕來自master的資源邀請。如果接受,就在slave上啓動一個executor來執行對應的task。

mesos流程

官方對mesos事件的過程描述如下:


  • Slave 1向Master彙報其空閒資源:4個CPU、4GB內存。然後,Master觸發分配策略模塊,得到的反饋是Framework 1要請求全部可用資源。
  • Master向Framework 1發送資源邀約,描述了Slave 1上的可用資源。
  • Framework的調度器(Scheduler)響應Master,需要在Slave上運行兩個任務,第一個任務分配<2 CPUs, 1 GB RAM>資源,第二個任務分配<1 CPUs, 2 GB RAM>資源。
  • 最後,Master向Slave下發任務,分配適當的資源給Framework的任務執行器(Executor),接下來由執行器啓動這兩個任務(如圖中虛線框所示)。 此時,還有1個CPU和1GB的RAM尚未分配,因此分配模塊可以將這些資源供給Framework 2。

資源分配

我們來更深入地看一下資源邀約和分配策略,因爲這對Mesos管理跨多個Framework和應用的資源,是不可或缺的。 我們前面提到資源邀約的概念,即由Master向註冊其上的Framework發送資源邀約。 每次資源邀約包含一份Slave節點上可用的CPU、RAM等資源的列表。 Master提供這些資源給它的Framework,是基於分配策略的。分配策略對所有的Framework普遍適用,同時適用於特定的Framework。 Framework可以拒絕資源邀約,如果它不滿足要求,若此,資源邀約隨即可以發給其他Framework。 由Mesos管理的應用程序通常運行短週期的任務,因此這樣可以快速釋放資源,緩解Framework的資源飢餓; Slave定期向Master報告其可用資源,以便Master能夠不斷產生新的資源邀約。 另外,還可以使用諸如此類的技術, 每個Fraamework過濾不滿足要求的資源邀約、Master主動廢除給定週期內一直沒有被接受的邀約。
分配策略有助於Mesos Master判斷是否應該把當前可用資源提供給特定的Framework,以及應該提供多少資源。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章