这几天在搭建mesos的集群,查过很多博客资料,很多资料写得都比较模糊,自己也踩了很多坑,所以决定将简洁一些的安装方式写下来,希望能帮助后面搭建mesos的朋友们。
源码安装
安装mesos支持环境
- Mesos > 0.21.0
版本需求C++11
-- GCC > 4.8需要安装devtoolset-2
GCC 4.8 安装
- 具体步骤:
wget -O /etc/yum.repos.d/slc6-devtoolset.repo http://linuxsoft.cern.ch/cern/devtoolset/slc6-devtoolset.repo
yum install devtoolset-2
- 在安装过程中出现了错误:找不到相关的GPG key,只要根据提示安装相应的GPG key 即可
rpm --import http://www.scientificlinux.org/documentation/gpg/RPM-GPG-KEY-cern
rpm --import http://www.scientificlinux.org/documentation/gpg/RPM-GPG-KEY-sl
- 重新安装即可
第三方软件包安装(Mesosphere,建议)
安装Mesos
安装最新版的Mesos
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(yum install mesos marathon mesosphere-zookeeper -y)
安装指定版本Mesos
找到指定Mesos版本的RPM包地址
下载安装Mesos
wget http://repos.mesosphere.com/el/6/x86_64/RPMS/mesos-0.28.1-2.0.20.centos65.x86_64.rpm
rpm -ivh mesos-0.28.1-2.0.20.centos65.x86_64.rpm
Mesos Master配置(centos148,centos149)
-
/etc/mesos-master
设置 hostname,ip,quorum,work_dir
centos148设置如下(centos149相同):
echo centos148 >> hostname
echo centos148 >> ip
echo quorum >> 1
echo /var/lib/mesos >> work_dir
-
/etc/mesos/zk
设置 zk 的地址(每个 master 节点都设置)
zk://192.168.0.101:2181,192.168.0.102:2181,192.168.0.103:2181/mesos
- 停掉mesos-slave
systemctl stop mesos-slave.service
systemctl disable mesos-slave.service
- 启动mesos-master marathon
systemctl start mesos-master
systemctl start marathon
- 通过systemctl status mesos-master查看状态
注意点
-
/etc/mesos-master/quorum
中设置 quorum 值
这个值要大于master数/2,这里master数为3,则要设为2
- 这里有个坑(如果设置两个master ,quorum应该设置为2,但设置为2,master会互相争抢,5050页面一直会跳来跳去,可能是BUG未考证,设置为1为好了,3以上的没有试过)
Mesos slave配置(centos148,centos149,centos150)
-
/etc/mesos-slave
设置 hostname,ip,work_dircentos148设置如下(centos149相同):
echo centos148 >> hostname echo centos148 >> ip echo /var/lib/mesos >> work_dir
-
/etc/mesos/zk
设置 zk 的地址(每个slave节点都设置,如果maste与slave在一个节点上,设置一次就好了)(注意,这里会有一个坑,zk修改后要source一下,不然,启动的时候,服务识别的会是默认的zk,以后启动zk会报错)zk://192.168.0.101:2181,192.168.0.102:2181,192.168.0.103:2181/mesos
- 关闭mesos-master服务(如果master,slave 在一个节点上这部可省)
systemctl stop mesos-master.service
systemctl disable mesos-master.service
- 启动mesos-slave服务
systemctl start mesos-slave
#### 注意点
- 检查各个节点是否起来,使用如下命令:
sudo ps -ef | grep mesos
> 参考资料:
- [Install mesosphere on the servers](https://www.digitalocean.com/community/tutorials/how-to-configure-a-production-ready-mesosphere-cluster-on-ubuntu-14-04#install-mesosphere-on-the-servers)