一、环境信息:
vmvare12上创建的虚拟机(centos7 64位)2台。
服务器IP |
说明 |
192.168.160.134 |
master |
192.168.160.135 |
master |
192.168.160.136 |
slave |
至少设置一个master和一个slave节点以便做高可用。也可以多个master和多个slave,这个根据业务情况而定。
二、master节点安装
1、登上master节点的服务器,执行以下指令:
rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-mesosphere
yum install mesos marathon mesosphere-zookeeper -y
2、设置zookeeper
①为每个master节点设置不同的myid值。在/var/lib/zookeeper/myid中写入一个1到255范围的数值,需要注意的是,每个节点的myid不要重复。这里将3个master节点的myid分别设置为:1,2,3
②每个master节点设置zoo.cfg
在配置文件/etc/zookeeper/conf/zoo.cfg中加入下面内容:
server.1=192.168.160.134:2888:3888
server.2=192.168.160.135:2888:3888
③启动zookeeper
systemctl start zookeeper
3、配置mesos-master和marathon
①在每个master节点的/etc/mesos/zk配置文件中设置zk的地址:
zk://192.168.160.134:2181,192.168.160.135:2181/mesos
②设置quorum值
打开 /etc/mesos-master/quorum
这个值要大于master数/2,这里master数为2,则要设为2
③停掉mesos-slave
systemctl stop mesos-slave.service
systemctl disable mesos-slave.service
④启动mesos-master marathon
systemctl start mesos-master
systemctl start marathon
三、Slave节点安装和配置
1、在所有slave节点服务器上执行如下命令:
rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-mesosphere
yum install mesos -y
2、mesos-slave配置
在/etc/mesos/zk中设置zk的地址 。这里的zk地址就是master节点所使用的同一套zookeeper服务的地址。
zk://192.168.160.136:2181/mesos
3、关闭mesos-master服务
systemctl stop mesos-master.service
systemctl disable mesos-master.service
4、启动mesos-slave服务
systemctl start mesos-slave
至此,一个高可用的mesos和marathon服务就搭建完毕了。可以通过http://IP:5050来访问Mesos的web界面,通过http://IP:8080来访问Marathon的web界面。IP可以是任意一个master节点的IP。
http://192.168.160.134:5050/#/界面截图如下:
注意:
1、服务器的jdk要是1.8以上版本的,不然会有报错,因为marathon是要求jdk1.8以上的;
2、各节点配一下/etc/hosts或指向一个共用的DNS,确保相互能够访问。如果不想配hosts,在启动时指定–hostname为IP即可;
3、如果想在marathon上运行docker,则需要一些其他配置:
//指定使用docker容器化
echo 'docker,mesos' > /etc/mesos-slave/containerizers
//考虑到拉取容器镜像等的操作,适当增加timeout的时间
echo '5mins' > /etc/mesos-slave/executor_registration_timeout
//重启mesos-slave以使上面配置生效
systemctl restart mesos-slave
4、几个配置启动参数的目录:
/etc/mesos-master/
/etc/mesos-slave/
/etc/marathon/conf/
在这些目录分别用来配置mesos-master,mesos-slave,marathon的启动参数。以参数名为文件名,参数值为文件内容即可。