白話mesos(3)

一個完整的mesos集羣業務


master節點

mesos需要3個以上的節點組建高可用的master集羣(官方文檔建議是5個,實際使用大家常用3個);由開源軟件Zookeeper來監控。Zookeeper會監控Master集羣中所有的節點,並在Master節點發生故障時管理新Master的選舉。當Master節點發生故障時,其狀態可以很快地在新選舉的Master節點上重建。 Mesos的狀態信息實際上駐留在Framework調度器和Slave節點集合之中。當一個新的Master當選後,Zookeeper會通知Framework和選舉後的Slave節點集合,以便使其在新的Master上註冊。彼時,新的 Master可以根據Framework和Slave節點集合發送過來的信息,重建內部狀態。

Framework調度器

Framework調度器(Scheduler),可以單獨放在任意節點上(包括某一個master上)
Framework調度器的容錯是通過Framework將調度器註冊2份或者更多份到Master來實現。當一個調度器發生故障時,Master會通知另一個調度來接管。需要注意的是Framework自身負責實現調度器之間共享狀態的機制。

Slave

Mesos實現了Slave的恢復功能,當Slave節點上的進程失敗時,可以讓執行器/任務繼續運行,併爲那個Slave進程重新連接那臺Slave節點上運行的執行器/任務。當任務執行時,Slave會將任務的監測點元數據存入本地磁盤。如果Slave進程失敗,任務會繼續運行,當Master重新啓動Slave進程後,因爲此時沒有可以響應的消息,所以重新啓動的Slave進程會使用檢查點數據來恢復狀態,並重新與執行器/任務連接。

執行器/任務

與計算節點/Slave節點故障類似,Master會向分配任務的Framework調度器彙報執行器/任務失敗,並允許調度器根據其配置策略在任務失敗時做出相應的處理。通常情況下,Framework在接收並接受來自Master的相應的資源邀約後,會在新的Slave節點上重新啓動任務。

slave節點的容錯

Master負責監控所有Slave節點的狀態。當計算節點/Slave節點無法響應多個連續的消息後,Master會從可用資源的列表中刪除該節點,並會嘗試關閉該節點。

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