大型分布式系统mesos与调度框架marathon部署指南
2018-03-03 19:53:25 点击:

一,部署前的工作:请自行部署docker,详见docker章节 systemctl stop firewalld systemctl disable firewalldsetenforce 0 vi et
一,部署前的工作:

环境(mesos,marathon以当前时间2018年3月3最新版本1.5.x为例):
centos7.x
mesos1.5.x
marathon1.5.x
jdk 1.8.x

192.168.0.206 mesos (master+slave)+marathon+zookeeper
192.168.0.207 mesos (master+slave)+marathon+zookeeper
192.168.0.208 mesos (master+slave)+marathon+zookeeper
 
请自行部署docker,详见docker章节
#systemctl stop firewalld #systemctl disable firewalld
setenforce 0
#vi /etc/selinux/config SELINUX=disable #注释掉
 
yum install -y apache-maven python-devel java-1.8.0-openjdk-devel zlib-devel libcurl-devel openssl-devel cyrus-sasl-devel cyrus-sasl-md5 apr-devel subversion-devel apr-util-devel
 
1.安装java
测试可使用yum安装,切记java jdk版本大于1.8:
yum -y install java
 
 
2.安装zookeeper(以我的ip为例)
详细请参考本站zookeeper安装指南,以下是zk集群主要参数:
 
server.1=192.168.0.206:2888:3888
server.2=192.168.0.207:2888:3888
server.3=192.168.0.208:2888:3888
 
 
 
二,mesos+marathon(调度框架)集群部署
 
 
1、安装mesosphere仓库
rpm -ivh http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-3.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-mesosphere
2、安装mesos和marathon
yum -y install mesos
 
3、增加zookeeper配置
echo "zk://192.168.0.206:2181,192.168.0.207:2181,192.168.0.208:2181/mesos" >/etc/mesos/zk
cat /etc/mesos/zk
zk://192.168.0.206:2181,192.168.0.207:2181,192.168.0.208:2181/mesos
 
4、配置mesos-hostname(本机ip)
echo 192.168.0.206 | tee /etc/mesos-master/ip && echo 192.168.0.206 | tee /etc/mesos-master/hostname
echo 192.168.0.206 | tee /etc/mesos-slave/ip && echo 192.168.0.206 | tee /etc/mesos-slave/hostname
echo 2 > /etc/mesos-master/quorum #说明, 这个数要大于安装master的0.5倍
 
在所有mesos-slave上增加配置参数,并重启(这一步在三台服务上面进行操作)
echo 'docker,mesos' | tee /etc/mesos-slave/containerizers 
systemctl restart mesos-slave
systemctl restart mesos-slave

5、配置mesos-master slave开机自启动并启动
systemctl enable mesos-master mesos-slave 
systemctl start mesos-master mesos-slave 
 
6.marathon安装:如果无法启动marathon可使用手动安装启动(这里我的使用手动源码方式,根据目前测试情况,)
说明:同时只能有一台marathon工作机,多台机器启动marathon后最先启动的为工作机,后续启动的处于待机状态,首台挂掉后面机器自动服务(建议前端使用nginx等代理工具健康检测连接后端)。
所有marathon挂掉不影响服务,重新启动服务后即可获取之前信息。
方法一:yum安装
于是修改/etc/default/marathon文件,添加
MARATHON_MASTER="zk://192.168.0.206:2181,192.168.0.207:2181,192.168.0.208:2181/mesos" MARATHON_ZK="zk://192.168.0.206:2181,192.168.0.207:2181,192.168.0.208:2181/marathon"
 
systemctl enable marathon
systemctl start marathon
方法二:源码启动
 
登陆其中一台上面:
cd marathon-1.3.5
./bin/start --master zk://192.168.0.206:2181,192.168.0.207:2181,192.168.0.208:2181/mesos --zk zk://192.168.0.206:2181,192.168.0.207:2181,192.168.0.208:2181/marathon
 
说明:最新版本为1.5.x 启动方式如下
./bin/marathon --master zk://192.168.0.206:2181,192.168.0.207:2181,192.168.0.208:2181/mesos --zk zk://192.168.0.206:2181,192.168.0.207:2181,192.168.0.208:2181/marathon
 
7.测试访问
marathon 访问ui http://192.168.0.206:8080 #以实际ip为准


mesos 在浏览器打开任意一台服务器的mesos(只有查看功能,所以任意一台即可,任意机器mesos信息通过zookeeper同步)


相关热词搜索:分布式 框架 指南

上一篇:zookeeper安装指南 for centos
下一篇:Marathon mesos常见问题