iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 2
0
Cloud

用30天來建構和操作Apache Mesos系列 第 2

Day2:介紹Apache Mesos的架構

  • 分享至 

  • xImage
  •  

在安裝和使用Mesos之前要先去了解系統的架構,這樣才能清楚的了解到每個元件的意義和使用的方式,以下就介紹Mesos的架構和每個元件的的功能。
http://ithelp.ithome.com.tw/upload/images/20161202/20103456gGyYntPQ6k.png
圖片來源:
http://mesos.apache.org/documentation/latest/architecture/

上圖是Apache Mesos在運作時主要的架構圖,主要的元件有Mesos Master、Mesos Agent、Zookeeper、另外Hadoop Scheduler和MPI Scheduler就是Mesos Framework,下面簡單的介紹一下Apache Mesos的每一個元件的功能:

Mesos Master:

Mesos Master主要是可以接收Mesos Agent所回報的目前資源狀態,並且會把資源的offer指定給frameowrk,在多台的master下正在執行active的master只會有一台,其它的master都為standby狀態,如果active的master當掉standby的master才會啟動起來。

Mesos Agent:

Mesos Agent又稱為Mesos Slave,主要的功能是定時的回報目前有多少的資源給Mesos Master,那要如何找到真正active的master?Mesos Agent會先透過查詢zookeeper的方式確認Mesos Master在哪台的host上,然後就能連上Mesos Master。

另外Mesos Agent上會啟動executor,執行framework所指派的Tasks

Framework:

執行在Mesos上的應用程式都會透過framework的方式去執行,framework主要有兩個元件scheduler和executor,以下分別介紹:

(1)scheduler:
schedule是對Mesos Master註冊,一般是long-running service負責連線到mesos master,它可以依照執行的需求決定是否要接受Mesos Master資源的offer

(2)executor:
executor是在Mesos Agent上執行tasks,executor上允許執行shell script或是可以執行docker container

另外Mesos的framework可以按照個人的需求實作出來,這樣也可以有助您了解整個Mesos的架構和執行的流程

Zookeeper:

zookeeper是拿來做預防Mesos master當掉用的,一但Mesos master有問題之後zookeeper會透過選舉的方式,從Standby的master選出一個新的master,所以zookeeper的數量要是單數,另外如果不怕Mesos master壞掉不一定要安裝zookeeper,但在production環境上建議還是要安裝zookeeper。

總結上面的元來說:

每一台Mesos Agent都會定時的回報目前有多少的資源給Mesos Master,之後Mesos Master會把資源的offer提供給Framework,Framework可以接受和拒絕資源的offer。當執行Job時Frameowrk會指派要在哪幾台的Mesos Agent上執行executor和tasks

以下舉個例子來說明:

http://ithelp.ithome.com.tw/upload/images/20161202/20103456KGyloP7E0S.jpg

圖片來源:Mesos in action

上圖是在Mesos上面執行Apache Spark的簡單例子,說明如下:

1、Mesos Slave會定時的回報有多少的資源給Mesos Master

2、Spark會註冊framework在master上並決定是否要執行工作

3、Spark的framework可以接受或拒絕master資源的offer

4、當使用者執行spark submit時,framework的scheduler會接受資源的offer,並且會決定要執行在哪幾台的Mesos Slave上

5、在Mesos Agent啟動container,並且執行Spark上的tasks

以上就是在Mesos上執行Spark的簡單例子,未來在實作時還會在實際demo一次,今天已經介紹完整個Apache Mesos上的架構和元件了,有了這些基本的知識之後,明天我們就來實際的感覺一下先來安裝Mesos。

參考資料:

Mesos in action

Mesos官網:http://mesos.apache.org/


上一篇
Day1: 使用Apache Mesos的目的為何?
下一篇
Day3:安裝和啟動Apache Mesos (一)
系列文
用30天來建構和操作Apache Mesos30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言