今天來介紹另外一個Mesos Framework Aurora,Aurora這個Framework可以用在執行scheduler service和long-running service,它的容錯性也很好,支援服務的功能很強大但是在安裝和使用上就有點複雜。
以下是系統主要的架構圖:
圖片來源:http://aurora.apache.org/documentation/latest/getting-started/overview/
Aurora的元件主要有下列幾個:
Aurora Scheduler
:是執行Cluster的主要介面,它也提供web的介面顯示Aurora執行的狀態
Aurora Client
:提供command line的介面,操作Aurora Scheduler
Aurora Executor
:使用Aurora的描述語言(Aurora DSL)去實際執行process
Aurora Observer
:它提供WebUI的畫面,可以去監控每台Aurora executor執行的狀態,所以每一台Mesos Slave都需要安裝Aurora observer
下圖是Aurora 執行狀態的生命週期:
圖片來源:http://aurora.apache.org/documentation/latest/reference/task-lifecycle/
如果有新的任務要進來首先會是PENDING的狀態,如果Aurora Scheduler找到適合的執行機器這時狀態會變成ASSIGNED,這時會在Mesos Slave上產生出Aurora executor,之後Aurora Scheduler會收到Mesos Slave的確認訊息,這時狀態就會變成STARTING。任務初始化成功之後狀態就會變成RUNNING,執行任務正常完成狀態就會變成FINISHED或是FAILED。
如果狀態長時間的PEDING和ASSIGNED,Aurora Scheduler會把它標記為LOST
強制終止執行狀態會被改為KILLED
今天簡單的介紹Aurora的系統架構和執行的生命週期,因為這個系統有點複雜所以在介紹上可能會有漏掉的地方或是有寫錯的地方,這些都要以實際的文件為主,這幾天還會繼續介紹Aurora的安裝和使用的部份。
參考文件:
Aurora document: http://aurora.apache.org/