Centos7上Mesos和Marathon的安装和配置

对Mesos和Marathon的安装官方文档有较详细的安装说明,但是英文的。我参照官方安装文档(https://open.mesosphere.com/getting-started/install/),在测试环境试装了一下,这里整理下安装配置的步骤。

测试环境

服务器IP 说明
192.168.0.101 Master节点
192.168.0.102 Master节点
192.168.0.103 Master节点
192.168.0.104 Slave节点
192.168.0.105 Slave节点
192.168.0.106 Slave节点

我们通常采用多个master节点和多个slave节点来实现高可用。这里使用3个master节点来进行高可用配置,每个master节点上都运行mesos-master,marathon和提供选主机制的zookeeper服务。slave节点上只需要运行mesos-slave服务,后期如果需要添加slave节点,可以很容易的添加。为了简单,下面直接采用yum方式安装(除此之外,还可以采用编译安装)。

实验环境

  1. 服务器:京东云,1核2G
  2. 系统:centos7.3 64bit

安装docker

关闭防火墙

?
1
2
systemctl stop firewalld.service
systemctl disable firewalld.service

关闭selinux

?
1
setenforce 0

修改/etc/selinux/config文件的SELINUX=XXX

?
1
2
vi /etc/selinux/config
SELINUX=disabled

安装docker

?
1
2
3
yum install epel-release -y
yum install -y docker
systemctl enable docker

启动

?
1
systemctl start docker.service

安装zookeeper

先执行下面命令安装

?
1
2
3
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 mesosphere-zookeeper -y

配置zookeeper

?
1
2
3
4
# 改成自己的内网ip
HOST_IP=192.168.1.105
echo 1 > /var/lib/zookeeper/myid
echo "server.1=${HOST_IP}:2888:3888" >> /etc/zookeeper/conf/zoo.cfg

启动zookeeper

?
1
systemctl start zookeeper

配置mesos master

安装

?
1
2
3
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

配置

?
1
2
3
4
# 改成自己的zookeeper的ip
HOST_IP=192.168.1.105
echo "zk://${HOST_IP}:2181/mesos" > /etc/mesos/zk
echo "${HOST_IP}" > /etc/mesos-master/hostname

启动

?
1
systemctl start mesos-master

配置mesos slave

安装

?
1
2
3
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

配置

?
1
2
3
4
5
6
7
8
# 改成自己的zookeeper的ip
HOST_IP=192.168.1.105
echo "zk://${HOST_IP}:2181/mesos" > /etc/mesos/zk
echo 'docker,mesos' > /etc/mesos-slave/containerizers
echo '5mins' > /etc/mesos-slave/executor_registration_timeout
# 改成本机IP
HOST_IP=192.168.1.105
echo "${HOST_IP}" > /etc/mesos-slave/hostname

启动

?
1
systemctl start mesos-slave

配置marathon

安装

?
1
2
3
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 marathon -y

配置

安装在mesos的master节点即可

启动

?
1
systemctl start marathon

marthon应用绑定域名

安装marathon-lb

复制代码代码如下:

docker run -d --restart=always --name marathon-lb --privileged -e PORTS=9090 --net=host ccr.ccs.tencentyun.com/mesos/marathon-lb:v1.11.1 sse -m  http://192.168.0.105:8080   --group external

创建应用的时候加上两个label

?
1
2
HAPROXY_GROUP=external
HAPROXY_0_VHOST=你的域名

注意

打开 http://你的IP:5050 即可看到mesos的web版控制台

打开 http://你的IP:8080 即可看到marthon的web版控制台

由于这样子配置免密码可以访问,所以不能直接如此放到生产环境

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

你可能感兴趣的:(Mesos)