簡介
linux
mesosphere
docker
mesosnpm
marathonjson
zookeeper:vim
爲master的mesos/marathon的配置文件,這保證master更輕量級。api
大概爲這幾個概念,能找到這裏的基本上都是知道他們是幹啥的,這裏不廢話了。不懂的可自行腦補。bash
環境:app
Hostname |
Function | IP Address |
master1 |
Mesos master | 172.18.2.94 |
master2 | Mesos master | 172.18.2.95 |
master3 | Mesos master | 172.18.2.96 |
slave1 | Mesos slave | 172.18.2.97 |
slave2 | Mesos slave | 172.18.2.98 |
slave3 | Mesos slave | 172.18.2.99 |
slave4 | Mesos slave | 172.18.2.100curl |
描述:ide
首先,master爲3臺機器,作zookeeper集羣作配置管理(mesos/marathon/zookeeper),而後3個master節點作高可用、Marathon同理。
提早工做
①關掉selinux
setenforece 0 (配置文件自行修改)
②關掉firewalld
systemctl disable firewalld.service
③清空防火牆
iptables -F
這裏爲了簡單起便,將使用yum來裝,固然你能夠本身編譯,效果同樣。其餘的還有docker倉庫直接裝的,方法不少,看你環境吧。
rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm
yum -y install mesosphere-zookeeper yum -y install mesos marathon
①,先給每臺機器zookeeper打標籤:
echo 1 > /etc/zookeeper/conf/myid PS: 有些可能在 /var/lib/zookeeper/myid
注意:myid中的每臺機器不一樣,對應下面配置文件中的server.$NUM
在/etc/zookeeper/conf/zoo.cfg配置文件中追加如下內容:
server.1=172.18.2.94:2888:3888 server.2=172.18.2.95:2888:3888 server.3=172.18.2.96:2888:3888
解釋下這個後邊的$IP,$PORT1,$PORT2
IP不解釋 $PORT1 由於三臺爲高可用,確定有個master,這個端口是master起的; $PORT2 爲他們互相檢查、看誰當master檢查用的。
而後就能夠重啓zookeeper服務了(端口爲2181)
systemctl start zookeeper
在每一個節點上,須要配置zookeeper的地址,像這樣寫進/etc/mesos/zk
zk://172.18.2.94:2181,172.18.2.95:2181,172.18.2.96:2181/mesos
我不肯定這個是否是BUG,由於這個官方要求參數,3臺master的狀況下,這個配置應該爲2的,可是當你設置成2的時候,3臺master一直會去爭搶leader,致使slave節點沒法註冊,因此這裏咱們將它搞爲1
echo 1 > /etc/mesos-master/quorum
這裏說下,咱們把主機名master$num 寫進hosts解析裏面,而後把各自的主機名寫進這個文件中
echo $master > /etc/mesos-master/hostname
須要將本機的ip寫進配置文件中
echo $host > /etc/mesos-master/ip
而後mesos的配置這裏就ok了,可是你得注意一點,把他自身的一些東西給處理下
systemctl stop mesos-slave.service systemctl disable mesos-slave.service
而後重啓mesos
systemctl restart mesos-master.service
首先,建立下他的配置文件的路徑(yum裝的沒給咱們建立)
mkdir -p /etc/marathon/conf
把mesos的直接拷過來就行了
cp /etc/mesos-master/hostname /etc/marathon/conf
這裏有2點:①配置marathon本身的zk,另外還須要鏈接mesos本身的,由於他要過去調度任務呀
cp /etc/mesos/zk /etc/marathon/conf/master cp /etc/marathon/conf/master /etc/marathon/conf/zk vim /etc/marathon/conf/zk 內容:zk://172.18.2.94:2181,172.18.2.95:2181,172.18.2.96:2181/marathon
而後重啓marathon
systemctl restart marathon.service
mesos訪問地址:
172.18.2.94:5050
marathon訪問地址:
172.18.2.94:8080
rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm
yum -y install mesos
首先要關掉master
systemctl stop mesos-master.service systemctl disable mesos-master.service
配置zookeeper的地址,由於說過他們會向zookeeper註冊,配置同master /etc/mesos/zk
zk://172.18.2.94:2181,172.18.2.95:2181,172.18.2.96:2181/mesos
同理,這裏爲/etc/mesos-slave/hostname
須要將本機的ip寫進配置文件中
echo $host > /etc/mesos-slave/ip
systemctl restart mesos-slave.service
而後,到mesos管理端,去查看slave的註冊狀況
這裏不作複雜的演示,只作簡單的。
WEB UI
master1:5050
首先準備一個json文件(hello2.json)
{ "id": "hello2", "cmd": "echo hello; sleep 10", "mem": 16, "cpus": 0.1, "instances": 1, "disk": 0.0, "ports": [0] }
而後調用api
curl -i -H 'Content-Type: application/json' -d@hello2.json master1:8080/v2/apps
就到這裏吧,過久沒寫了,找不到感受。
細節地方你們注意好就行