昨天我們已經安裝好Marathon Framework並且可以開啟它的WebUI畫面了,如果沒有Follow到的觀眾可以看Day7這篇,今天我們就來點簡單一點的,就是可以直接使用Marathon Web UI建立啟動Tomcat service,詳細介紹如下:
使用前準備:
1啟動zookeeper,可以參考day5
2啟動Mesos Master,可以參考day5
3啟動Mesos Slave,可以參考day5
4啟動Marathon,可以參考day7
開啟Marathon之後現在我們就來操作它的WebUI的部份,我們的目的是用它來啟動Tomcat service
操作步驟如下:
1、這是Marathon的WebUI,按New App可以新增要在Mesos上執行的應用程式
2、這時就會出現要設定執行應用程式的畫面
ID就給它一個識別的名稱,CPUS和Memory就給它你需要執行的資源數量,給定資源的時侯不要超過在mesos的總資源,如果超過的話這個應用程式啟不起來,總資源數量這在mesos webUI可以查看得到。
Instances的意思是代表這個service要啟動幾個,如果2的話就代表tomcat要啟動2個,這點要注意mesos-slave就要有2台,不然會在同一台啟動2個service造成port衝到的問題。
Command的話就是一般的linux shell 這裡的意思是代表我要把tomcat的port改成1234,然後執行。
URIs的意思代表它會自動去Apache去的網址下載tomcat回來解壓縮,然後就執行上面的Command,為了方便複製貼上我把指令寫在下面
Command:
cd apache-tomcat-* && sed "s/8080/1234/g" < ./conf/server.xml > ./conf/server-mesos.xml && ./bin/catalina.sh run -config ./conf/server-mesos.xm
URIs:
http://ftp.tc.edu.tw/pub/Apache/tomcat/tomcat-7/v7.0.73/bin/apache-tomcat-7.0.73.tar.gz
3、按下Create之後的畫面,這時可以看到tomcat正在進行部署中
4、另外您也可以去mesos的webUI,按下Framework頁面的marathon查看部署的狀態
這時可以在host看到tomcat service部署在mesos-slave2的這台server上
執行畫面如下
這時侯用mesos-slave2的ip再加上1234的port就可以看到tomcat被部署到server上去了
遇到的問題:
在mesos webUI畫面按下SandBox會看到以下的錯誤,主要的問題在於client端要設定/etc/hosts,這樣host name才能對應到正確的ip位址。
如果是在windows應該要修改C:\Windows\System32\drivers\etc\hosts
這個檔案
今天我們已經介紹如何用Marathon Web進行部署tomcat service的部份,其實它就是會部署到Mesos Slave Server裡,您可以把instance調成2部署2個tomcat service,在部署service和管理資源上變成比較方便。明天會介紹使用restful API的方式來部署Tomcat service。