溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Apache Mesos總體架構分析

發(fā)布時間:2021-11-17 16:11:00 來源:億速云 閱讀:98 作者:iii 欄目:web開發(fā)

這篇文章主要介紹“Apache Mesos總體架構分析”,在日常操作中,相信很多人在Apache Mesos總體架構分析問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Apache Mesos總體架構分析”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

1. 前言

同其他大部分分布式系統(tǒng)一樣,Apache  Mesos為了簡化設計,也是采用了master/slave結構,為了解決master單點故障,將master做得盡可能地輕量級,其上面所有的元數 據可以通過各個slave重新注冊而進行重構,故很容易通過zookeeper解決該單點故障問題。

2. Apache mesos中的基本術語解釋

(1)    Mesos-master:Mesos master,主要負責管理各個framework和slave,并將slave上的資源分配給各個framework

(2)    Mesos-slave:Mesos slave,負責管理本節(jié)點上的各個mesos-task,比如:為各個executor分配資源

(3)    Framework:計算框架,如:Hadoop,Spark等,通過MesosSchedulerDiver接入Mesos

(4)    Executor:執(zhí)行器,安裝到mesos-slave上,用于啟動計算框架中的task。

當用戶試圖添加一種新的計算框架到Mesos中時,需要實現一個Framework scheduler和executor以接入Mesos。

3. 總體架構

Apache Mesos由四個組件組成,分別是Mesos-master,mesos-slave,framework和executor。

Mesos-master是整個系統(tǒng)的核心,負責管理接入mesos的各個framework(由frameworks_manager管理)和 slave(由slaves_manager管理),并將slave上的資源按照某種策略分配給framework(由獨立插拔模塊Allocator管 理)。

Mesos-slave負責接收并執(zhí)行來自mesos-master的命令、管理節(jié)點上的mesos-task,并為各個task分配資源。 mesos-slave將自己的資源量發(fā)送給mesos-master,由mesos-master中的Allocator模塊決定將資源分配給哪個 framework,當前考慮的資源有CPU和內存兩種,也就是說,mesos-slave會將CPU個數和內存量發(fā)送給mesos-master,而用 戶提交作業(yè)時,需要指定每個任務需要的CPU個數和內存量,這樣,當任務運行時,mesos-slave會將任務放到包含固定資源的linux  container中運行,以達到資源隔離的效果。很明顯,master存在單點故障問題,為此,mesos采用了zookeeper解決該問題。

Framework是指外部的計算框架,如Hadoop,Mesos等,這些計算框架可通過注冊的方式接入mesos,以便mesos進行統(tǒng)一管理 和資源分配。Mesos要求可接入的框架必須有一個調度器模塊,該調度器負責框架內部的任務調度。當一個framework想要接入mesos時,需要修 改自己的調度器,以便向mesos注冊,并獲取mesos分配給自己的資源,  這樣再由自己的調度器將這些資源分配給框架中的任務,也就是說,整個mesos系統(tǒng)采用了雙層調度框架:***層,由mesos將資源分配給框架;第二層, 框架自己的調度器將資源分配給自己內部的任務。當前Mesos支持三種語言編寫的調度器,分別是C++,java和python,為了向各種調度器提供統(tǒng) 一的接入方式,Mesos內部采用C++實現了一個MesosSchedulerDriver(調度器驅動器),framework的調度器可調用該 driver中的接口與Mesos-master交互,完成一系列功能(如注冊,資源分配等)。

Executor主要用于啟動框架內部的task。由于不同的框架,啟動task的接口或者方式不同,當一個新的框架要接入mesos時,需要編寫 一個executor,告訴mesos如何啟動該框架中的task。為了向各種框架提供統(tǒng)一的執(zhí)行器編寫方式,Mesos內部采用C++實現了一個 MesosExecutorDiver(執(zhí)行器驅動器),framework可通過該驅動器的相關接口告訴mesos啟動task的方法。

Apache Mesos總體架構分析

到此,關于“Apache Mesos總體架構分析”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI