1. Mesos的地位:
Mesos可以認為是資源的中間商,Mesos是第一個可以在多個框架之間共享資源的集群調度器。
2. Mesos的設計理念:
Mesos做為數據中心的內核,需要為大量不同類型的負載提供服務,沒有一個調度器可以滿足所有這些框架的需求,為了應對這個問題,Mesos的設計原則是:資源分配和任務調度的分離。
Mesos master 負責決定分配給每個框架多少資源,任務調度器負責如何使用這些資源,這取決于每個框架的調度器如何根據自身需求去實現。也可以這樣理解Mesos的設計理念:Mesos在各個框架間進行粗粒度的資源分配,每個框架根據自身任務的特點進行細粒度的任務調度。
3. CentOS 7.1安裝Mesos
使用yum安裝很方便,這里就使用yum安裝Mesos,手動安裝參見官網安裝步驟,這里默認已經安裝了zookeeper。
節點設計:
node1:mesos-master
node2:mesos-slave
node3:mesos-slave①每個節點添加mesosphere的yum源
rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm
②每個節點安裝mesos
yum -y install mesos marathon
③每個節點配置mesos
配置zookeeper的地址
vim /etc/mesos/zk
zk://172.18.2.94:2181,172.18.2.95:2181,172.18.2.96:2181/mesos
④mesos-master節點配置
vi /etc/mesos-master/quorum
(在里面添加一個數字,數字大小不小于master的數量除以2,這里測試一個master,填1就可以)
vi /etc/mesos-master/ip
(添加master的ip,默認是127.0.0.1,只做顯示用)
vi /etc/mesos-master/hostname
>(添加master的hostname,默認為localhost,主要在mesos集群間使用,不是機器的hostname,只做顯示用)
⑤mesos-slave節點配置
如果要運行dockers,則要配置docker啟動
(Note:slave節點都必須安裝docker并且docker的版本必須一致,否則下面的配置會導致slave節點啟動不了)
echo 'docker,mesos' /etc/mesos-slave/containerizers
echo '5mins' /etc/mesos-slave/executor_registration_timeout
⑥服務配置
由于yum安裝會把mesos-master和mesos-slave添加到開機自啟動,所以:mesos-master節點需要停止slave服務并關閉開機啟動
systemctl stop mesos-slave.service
systemctl disable mesos-slave.service
mesos-slave節點需要停止master服務并關閉開機啟動
systemctl stop mesos-master.service
systemctl disable mesos-master.service
⑦啟動服務
systemctl restart mesos-master.service
systemctl restart mesos-slave.service
啟動服務后訪問WebUI:
http://mesos-master:5050/
WebUI