跟我一起學docker(16)--單節點mesos集群
什麽是MESOS?
Apache Mesos 是一個集群管理器,提供了有效的、跨分布式應用或框架的資源隔離和共享,可以運行 Hadoop、MPI、Hypertable、Spark。
幾個基本概念:
Mesos master:負責任務調度的節點。
Mesos slave:負責執行任務的節點。
Mesos 框架:需要由mesos調度的應用程序,比如hadoop、spark、marathon、chronos等。
Mesos實現了兩級調度架構,它可以管理多種類型的應用程序。第一級調度是Master的守護進程,管理Mesos集群中所有節點上運行的Slave守護進程。集群由物理服務器或虛擬服務器組成,用於運行應用程序的任務,比如Hadoop和MPI作業。第二級調度由被稱作Framework的“組件”組成。Framework包括調度器(Scheduler)和執行器(Executor)進程,其中每個節點上都會運行執行器。Mesos能和不同類型的Framework通信,每種Framework由相應的應用集群管理。上圖中只展示了Hadoop和MPI兩種類型,其它類型的應用程序也有相應的Framework。
Mesos Master協調全部的Slave,並確定每個節點的可用資源,聚合計算跨節點的所有可用資源的報告,然後向註冊到Master的Framework(作為Master的客戶端)發出資源邀約。Framework可以根據應用程序的需求,選擇接受或拒絕來自master的資源邀約。一旦接受邀約,Master即協調Framework和Slave,調度參與節點上任務,並在容器中執行,以使多種類型的任務,比如Hadoop和Cassandra,可以在同一個節點上同時運行。
單節點mesos集群
安裝依賴包
Centos7.1
1.下載rpm包
sudo rpm -Uvh http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm
2.安裝
sudo yum -y installmesosphere-zookeeper
sudo yum -y install mesosmarathon
3.配置
設置/var/lib/zookeeper/myid作為唯一標識(1-255)講的是單節點直接設置成1
配置mesos連接的zk,文件位置:/etc/mesos/zk(例如:zk://1.1.1.1:2181,2.2.2.2:2181,3.3.3.3:2181/mesos)
配置mesos master的法定值(一個節點掛了,立馬另一個節點起起來,目前是1臺機器,直接填寫1;如果是5臺機器,一臺機器掛了,這裏的數字應該填3,也就說3臺機器認為一臺機器可以當master這臺機器太可以當master),文件位置:/etc/mesos-master/quorum
4.啟動
啟動zookeeper:service zookeeper start
啟動mesos-master:service mesos-master start
啟動mesos-slave:servie mesos-slavestart
5.驗證
訪問web頁面:http://:5050
執行mesos命令:
MASTER=$(mesos-resolve `cat/etc/mesos/zk`)
mesos-execute --master=$MASTER--name="cluster-test" --command="sleep 5"
跟我一起學docker(16)--單節點mesos集群