一、Mesos 简介
二、Mesos 集群安装
1. 安装环境
role | hostname | ip | release |
---|---|---|---|
master1 | sh-docker-master-01 | 1.1.1.100 | centos7.2 |
master2 | sh-docker-node-01 | 1.1.1.101 | centos7.2 |
master3 | sh-docker-node-02 | 1.1.1.102 | centos7.2 |
slave1 | bj-docker-node-01 | 1.1.1.103 | centos7.2 |
2 安装Mesos Master
下面操作若未注明均在三台主机操作
- 添加 mesos的yum源
rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-2.noarch.rpm
- 配置hosts
echo "1.1.1.100 master1" >>/etc/hosts
echo "1.1.1.101 master2" >>/etc/hosts
echo "1.1.1.102 master3" >>/etc/hosts
- 分别安装 Mesos
yum -y install mesos marathon mesosphere-zookeeper
- 配置zookeeper
master1
touch /var/lib/zookeeper/myid
echo 1 > /var/lib/zookeeper/myid
master2
touch /var/lib/zookeeper/myid
echo 2 > /var/lib/zookeeper/myid
master3
touch /var/lib/zookeeper/myid
echo 3 > /var/lib/zookeeper/myid
master1,master2,master3在配置文件/etc/zookeeper/conf/zoo.cfg中加入下面内容
echo "server.1=1.1.100:2888:3888">>/etc/zookeeper/conf/zoo.cfg
echo "server.1=1.1.101:2888:3888">>/etc/zookeeper/conf/zoo.cfg
echo "server.1=1.1.102:2888:3888">>/etc/zookeeper/conf/zoo.cfg
PORT1 因为三台为高可用,肯定有个master,这个端口是master起的;
PORT2 为他们互相检查、看谁当master检查用的。
- 配置mesos
每个master节点的/etc/mesos/zk配置文件中设置zk的地址
echo "zk://1.1.1.100:2181,1.1.1.101:2181,1.1.1.102:2181/mesos">/etc/mesos/zk
/etc/mesos-master/quorum中设置quorum值 这个值要大于master数/2,这里master数为3,则要设为2
echo 2 > /etc/mesos-master/quorum
- 配置marathon
# 这里说下,我们把主机名master$num 写进hosts解析里面,然后把各自的主机名写进这个文件中
master
echo $hostname>/etc/mesos-master/hostname
mkdir -p /etc/marathon/conf/
cp /etc/mesos-master/hostname /etc/marathon/conf
zk
# 配置marathon自己的zk,另外还需要连接mesos自己的,因为他要过去调度任务
cp /etc/mesos/zk /etc/marathon/conf/master
cp /etc/marathon/conf/master /etc/marathon/conf/zk
echo "zk://1.1.1.100:2181,1.1.1.101:2181,1.1.1.102:2181/marathon">/etc/marathon/conf/zk
- 启动zookeeper mesos-master marathon
for server in zookeeper mesos-master marathon;do
systemctl start $server
done
systemctl disable mesos-slave
3. 安装Mesos Slave
yum -y install mesos
- 配置master信息
echo "zk://1.1.1.100:2181,1.1.1.101:2181,1.1.1.102:2181/mesos">/etc/mesos/zk
echo $hostname >/etc/mesos-slave/hostname
- 创建work_dir
rm -rf /etc/mesos-slave/work_dir && mkdir /etc/mesos-slave/work_dir/provisioner -p
- 启动mesos-slave
systemctl start mesos-slave
systemctl enable mesos-slave
systemctl disable mesos-master
- 实验过程中,slave启动失败了,选择用命令运行slave
mesos-slave --master=zk://1.1.1.100:2181,1.1.1.101:2181,1.1.1.102:2181/mesos --work_dir=/etc/mesos-slave/work_dir
4. 访问Mesos
-
mesos地址:http://1.1.1.101:5050/
-
marathon地址:http://1.1.1.101:8080/
# 可利用其发布docker镜像并可调整应用数量
-
查看 slave
- 自此,Mesos安装成功