环境:
主机名 | 类型 | IP |
---|---|---|
master01 | master | 192.168.1.1 |
master02 | master | 192.168.1.2 |
master03 | master | 192.168.1.3 |
slave01 | slave | 192.168.1.4 |
slave02 | slave | 192.168.1.5 |
slave03 | slave | 192.168.1.6 |
主机系统为centos7。master为3台机器,做zookeeper集群做配置管理(mesos/marathon/zookeeper),然后3个master节点做高可用、Marathon同理。
关掉所有主机的selinux:
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可
关掉所有主机的firewalld:
systemctl disable firewalld
清空所有主机的防火墙:
iptables -F
这里为了简单起便,将使用yum来装。
rpm -Uvh http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm
yum -y install mesosphere-zookeeper
yum -y install mesos marathon
systemctl stop zookeeper
systemctl stop mesos-master
systemctl stop mesos-slave
systemctl stop marathon
给每台机器的zookeeper打标签:
echo 1 > /etc/zookeeper/conf/myid
echo 1 > /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地址,2888和3888两个端口号。
2888 因为三台为高可用,肯定有个master,这个端口是master起的;
3888 为他们互相检查、看谁当master检查用的。
然后就可以重启zookeeper服务了(端口为2181)
systemctl start zookeeper
1.zookeeper配置:
在每个节点上,需要配置zookeeper的地址,像这样写进/etc/mesos/zk
zk://192.168.1.1:2181,192.168.1.2:2181,192.168.1.3:2181/mesos
2.Quorum配置:
我不确定这个是不是BUG,因为这个官方要求参数,3台master的情况下,这个配置应该为2的,但是当你设置成2的时候,3台master一直会去争抢leader,导致slave节点无法注册,所以这里我们将它搞为1
echo 1 > /etc/mesos-master/quorum
3.hostname配置:
这里说下,我们把主机名master$num 写进hosts解析里面,然后把各自的主机名写进这个文件中
echo master\$num > /etc/mesos-master/hostname
4.mesos master配置完成后,在master关闭mesos-slave服务
systemctl stop mesos-slave
systemctl disable mesos-slave
然后重启mesos
systemctl restart mesos-master
1.创建下他的配置文件的路径(yum装的没给我们创建)
mkdir -p /etc/marathon/conf
2.配置hostname
把mesos的直接拷过来就好了
cp /etc/mesos-master/hostname /etc/marathon/conf
3.配置zookeeper
cp /etc/mesos/zk /etc/marathon/conf/master
cp /etc/mesos/conf/master /etc/marathon/conf/zk
vim /etc/marathon/conf/zk
内容:
zk://192.168.1.1:2181,192.168.1.2:2181,192.168.1.3:2181/marathon
4.然后重启marathon
systemctl restart marathon
2.6 访问地址
mesos访问地址:192.168.1.1:5050
marathon访问地址: 192.168.1.1:8080
2.7 查看日志
cat /var/log/messages | grep zookeeper
rpm -Uvh http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm
yum -y install mesos
systemctl stop mesos-master
systemctl stop mesos-slave
1.先关闭master:
systemctl stop mesos-master
systemctl disable mesos-master
2.zookeeper配置:
在每个节点上,需要配置zookeeper的地址,配置同master的/etc/mesos/zk
zk://192.168.1.1:2181,192.168.1.2:2181,192.168.1.3:2181/mesos
3.hostname配置:
这里说下,我们把主机名slave$num 写进hosts解析里面,然后把各自的主机名写进这个文件中
echo slave\$num > /etc/mesos-slave/hostname
ip可选配:
echo $host > /etc/mesos-slave/ip
4.配置mesos支持docker容器
echo 'docker,mesos' > /etc/mesos-slave/containerizers
5.配置注册超时时间为5分钟
echo '5mins' > /etc/mesos-slave/executor_registration_timeout
4.然后重启mesos
systemctl restart mesos-slave
mesos访问地址:192.168.1.1:5050
marathon访问地址: 192.168.1.1:8080
进入mesos管理端可以查看slave信息。
yum -y install docker
systemctl start docker
systemctl enable docker