Mesos&Docker技術交流QQ羣:491137983,一起學習,共同進步!
Master是整個系統的核心,負責管理接入mesos的各個Framework(由frameworks_manager管理)和slave(由slaves_manager管理),並將slave上的資源按照某種策略分配給Framework(由獨立插拔模塊Allocator管理)。在本環境中用於構建輕量級PaaS平臺的Framework是Marathon,Master節點上主要包括以下功能組件:Mesos-master、Marathon、Zookeeper。
1.組件安裝
yum -y install mesos marathon mesosphere-zookeeper
2.配置zookeeper
#master101
echo 1 > /var/lib/zookeeper/myid
#master102
echo 2 > /var/lib/zookeeper/myid
#master103
echo 3 > /var/lib/zookeeper/myid
編輯文件/etc/zookeeper/conf/zoo.cfg,追加以下內容
server.1=192.168.2.71:2888:3888
server.2=192.168.2.72:2888:3888
server.3=192.168.2.73:2888:3888
重啓zookeeper服務
systemctl start zookeeper
3.配置mesos
配置mesos使用zookeeper
echo zk://192.168.2.71:2181,192.168.2.72:2181,192.168.2.73:2181/mesos > /etc/mesos/zk
echo 2 > /etc/mesos-master/quorum
配置mesos-master組件的hostname和ip參數
master01
#master101
echo 192.168.2.71 > /etc/mesos-master/hostname
echo 192.168.2.71 > /etc/mesos-master/ip
#master102
echo 192.168.2.72 > /etc/mesos-master/hostname
echo 192.168.2.72 > /etc/mesos-master/ip
#master103
echo 192.168.2.73 > /etc/mesos-master/hostname
echo 192.168.2.73 > /etc/mesos-master/ip
說明:hostname可以不配置,默認使用機器名
停用masrer節點上的mesos-slave服務
systemctl stop mesos-slave.service && systemctl disable mesos-slave.service
重啓mesos-master服務
systemctl restart mesos-master.service
4.配置marathon
mkdir -p /etc/marathon/conf
直接複製mesos的hostname文件
cp /etc/mesos-master/hostname /etc/marathon/conf
5.配置marathon使用zookeeper(可選)
默認情況下marathon會自動獲取本機的mesos的zk配置,並且會根據zookeeper的配置。爲自己添加marathon的配置同步,手動添加以下配置文件是爲了便於管理,同樣,其他的marathon參數,都可以以參數名稱命名一個文件,存放在/etc/marathon/conf目錄下,然後在其中設置參數值的形式爲marathon作進一步配置
提示:在本例中,默認的marathon啓動命令爲:
marathon: run_jar --hostname 192.168.2.71 --zk zk://192.168.2.71:2181,192.168.2.72:2181,192.168.2.73:2181/marathon --master zk://192.168.2.71:2181,192.168.2.72:2181,192.168.2.73:2181/mesos
第一步:連接mesos的zookeeper
cp /etc/mesos/zk /etc/marathon/conf/master
第二步:配置marathon使用的zookeeper
echo zk://192.168.2.71:2181,192.168.2.72:2181,192.168.2.73:2181/marathon /etc/marathon/conf/zk
6.啓動服務及檢測
重啓marathon服務
systemctl restart marathon
檢查端口監聽情況
說明:如果沒有lsof命令可以下載安裝
yum install -y lsof
zookeeper端口:lsof -i :2181 -n
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 2893 root 23u IPv6 23787 0t0 TCP *:eforward (LISTEN)
java 2893 root 27u IPv6 25757 0t0 TCP 192.168.2.71:eforward->192.168.2.71:35808 (ESTABLISHED)
java 2893 root 30u IPv6 24204 0t0 TCP 192.168.2.71:eforward->192.168.2.71:35812 (ESTABLISHED)
java 2893 root 31u IPv6 25810 0t0 TCP 192.168.2.71:eforward->192.168.2.71:35852 (ESTABLISHED)
java 2893 root 32u IPv6 25803 0t0 TCP 192.168.2.71:eforward->192.168.2.72:57387 (ESTABLISHED)
java 2957 root 15u IPv4 25761 0t0 TCP 192.168.2.71:35812->192.168.2.71:eforward (ESTABLISHED)
java 2957 root 31u IPv6 25157 0t0 TCP 192.168.2.71:35808->192.168.2.71:eforward (ESTABLISHED)
java 2957 root 37u IPv6 25758 0t0 TCP 192.168.2.71:54372->192.168.2.72:eforward (ESTABLISHED)
mesos-mas 3342 root 17u IPv4 25809 0t0 TCP 192.168.2.71:35852->192.168.2.71:eforward (ESTABLISHED)
mesos-mas 3342 root 18u IPv4 26920 0t0 TCP 192.168.2.71:54419->192.168.2.72:eforward (ESTABLISHED)
mesos-mas 3342 root 22u IPv4 25817 0t0 TCP 192.168.2.71:54420->192.168.2.72:eforward (ESTABLISHED)
mesos-mas 3342 root 23u IPv4 25816 0t0 TCP 192.168.2.71:54418->192.168.2.72:eforward (ESTABLISHED)
mesos端口:lsof -i :5050 -n
java 2957 root 27u IPv4 25326 0t0 TCP 192.168.2.71:52901->192.168.2.72:mmcc (ESTABLISHED)
mesos-mas 3342 root 5u IPv4 24286 0t0 TCP 192.168.2.71:mmcc (LISTEN)
mesos-mas 3342 root 24u IPv4 26921 0t0 TCP 192.168.2.71:52898->192.168.2.72:mmcc (ESTABLISHED)
mesos-mas 3342 root 25u IPv4 26967 0t0 TCP 192.168.2.71:60935->192.168.2.73:mmcc (ESTABLISHED)
mesos-mas 3342 root 26u IPv4 25818 0t0 TCP 192.168.2.71:mmcc->192.168.2.72:45845 (ESTABLISHED)
mesos-mas 3342 root 27u IPv4 25823 0t0 TCP 192.168.2.71:mmcc->192.168.2.73:51978 (ESTABLISHED)
其他端口
mesos通信端口:lsof -i :2888 -n
mesos選舉端口:lsof -i :3888 -n
marathon端口:lsof -i :8080 -n
服務重啓命令
systemctl restart zookeeper
systemctl restart mesos-master
systemctl restart marathon
配置開機啓動
chkconfig zookeeper on
chkconfig mesos-master on
chkconfig marathon on