1.部署规划
master-node1 | 192.168.30.24 | CentOS 7.2.1511 | zookeeper, mesos-master, marathon |
master-node2 | 192.168.30.28 | CentOS 7.2.1511 | zookeeper, mesos-master, marathon |
master-node3 | 192.168.70.52 | CentOS 7.2.1511 | zookeeper, mesos-master, marathon |
slave-node1 | 192.168.30.21 | CentOS 7.2.1511 | mesos-slave, docker |
slave-node2 | 192.168.30.22 | CentOS 7.2.1511 | mesos-slave, docker |
slave-node3 | 192.168.30.23 | CentOS 7.2.1511 | mesos-slave, docker |
2.环境准备
首先部署好zk集群:192.168.30.24:2181,192.168.30.28:2181,192.168.70.52:2181
另外机器需要连接外网;然后配置yum源如下:
cat /etc/yum.repos.d/mesosphere.repo
[mesosphere]
name=Mesosphere Packages for EL 7 - $basearch
baseurl=http://repos.mesosphere.com/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mesosphere
[mesosphere-noarch]
name=Mesosphere Packages for EL 7 - noarch
baseurl=http://repos.mesosphere.com/el/7/noarch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mesosphere
[mesosphere-source]
name=Mesosphere Packages for EL 7 - $basearch - Source
baseurl=http://repos.mesosphere.com/el/7/SRPMS/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mesosphere
3.mesos-master&&marathon
##安装yum源
wget http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-2.noarch.rpm
rpm -ivh mesosphere-el-repo-7-2.noarch.rpm
或者:
rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-2.noarch.rpm
##yum安装mesos和marathon
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-mesosphere
yum -y install mesos marathon
##mesos选主
vim /etc/mesos/zk
zk://192.168.30.24:2181,192.168.30.28:2181,192.168.70.52:2181/mesos
##marathon选主
mkdir -p /etc/marathon/conf/
vim /etc/marathon/conf/zk
zk://192.168.30.24:2181,192.168.30.28:2181,192.168.70.52:2181/mesos
##marathon连接mesos-master
zk://192.168.30.24:2181,192.168.30.28:2181,192.168.70.52:2181/mesos
##mesos-master配置quorum&work_dir
echo "2" > /etc/mesos-master/quorum
##marathon工作路径,默认即可
cat /etc/mesos-master/work_dir
/var/lib/mesos
##mesos-master&marathon配置ip&hostname
echo "192.168.30.24" > /etc/mesos-master/ip
echo "192.168.30.24" > /etc/mesos-master/hostname
echo "192.168.30.24" > /etc/marathon/conf/hostname
echo "192.168.30.24" >/etc/marathon/conf/ip
echo "192.168.30.24 master-node1" >> /etc/hosts
##配置matathon信息
vi /etc/default/marathon
MARATHON_MESOS_USER=root
MARATHON_MASTER="zk://192.168.30.24:2181,192.168.30.28:2181,192.168.70.52:2181/mesos"
MARATHON_ZK="zk://192.168.30.24:2181,192.168.30.28:2181,192.168.70.52:2181/marathon"
##设置开机启动
systemctl enable mesos-master marathon
systemctl disable mesos-slave
systemctl start mesos-master
systemctl start marathon
4.mesos-slave && docker
##yum安装docker,mesos
rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-2.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-mesosphere
yum install mesos -y
yum install -y docker
##配置mesos连接的zk信息
vim /etc/mesos/zk
zk://192.168.30.24:2181,192.168.30.28:2181,192.168.70.52:2181/mesos
##配置marathon调用mesos运行docker
echo "docker,mesos" > /etc/mesos-slave/containerizers
##设置执行程序超时时长
echo "5mins" > /etc/mesos-slave/executor_registration_timeout
或者
echo "15mins" | sudo tee /etc/mesos-slave/executor_registration_timeout
##mesos-slave配置ip&hostname
echo "192.168.30.21" > /etc/mesos-slave/ip
echo "192.168.30.21" > /etc/mesos-slave/hostname
echo "192.168.30.21 slave-node1" >> /etc/hosts
echo "192.168.30.22 slave-node2" >> /etc/hosts
echo "192.168.30.23 slave-node3" >> /etc/hosts
##开启自启
systemctl enable docker
systemctl start docker
systemctl status docker
systemctl enable mesos-slave
systemctl disable mesos-master
systemctl start mesos-slave
systemctl status mesos-slave
5.web验证
##mesos web:
192.168.30.24:5050
192.168.30.28:5050
192.168.70.52:5050
##marathon web:
192.168.30.24:8080
192.168.30.28:8080
192.168.70.52:8080
右上角点击问号,点击About
##查看marathon leader
##查看mesos leader
##日志查看:
systemctl status mesos-slave
ps -ef|grep 7331
cd /var/log/mesos