Mesos集群yum安装部署
转载来自:http://3258715.blog.51cto.com/3248715/17578501 Apache Mesos简介Apache Mesos据说是云计算的未来,利用Mesos可轻易实现一个PaaS云平台。请参考 http://mesos.apache.org/和http://mesosphere.com/查看详细2 Master节点安装规划
转载来自:http://3258715.blog.51cto.com/3248715/1757850
1 Apache Mesos简介
2 Master节点安装
规划
-
192.168.1.110 master1
-
192.168.1.111 master2
-
192.168.1.112 master3
关闭防火墙
-
master1,master2,master3
systemctl stop firewalld && systemctl disable firewalld
添加 mesos的yum源
-
master1,master2,master3
sudo rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm
安装mesos及相关软件(zk可以自己安装,不用yum)
-
master1,master2,master3
yum -y install mesos marathon yum -y install mesosphere-zookeeper(这个可以不用安装)
配置zookeeper(这是yum安装zk后的配置,若自己手动安装,无须看)
-
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
server.1=192.168.1.110:2888:3888 server.2=192.168.1.111:2888:3888 server.3=192.168.1.112:2888:3888
-
下面的必做:
-
master1,master2,master3
vi /etc/mesos/zk
-
增加内容:
zk://192.168.1.110:2181,192.168.1.111:2181,192.168.1.112:2181/mesos(删除原有内容)
-
master1,master2,master3
vi /etc/mesos-master/quorum
- 设置
--quorum=2
的意思是:至少要有 2 台 master 节点在线,否则集群无法起来,所以至少要两台 master 一起启动。
配置mesos和marathon
-
master1(下面三步其实一样,就是 vim /etc/mesos-master/hostname 输入ip,然后mkdir -p /etc/marathon/conf/,再vim /etc/marathon/conf/hostname 输入ip)
echo 192.168.1.110 | sudo tee /etc/mesos-master/hostname mkdir -p /etc/marathon/conf/ && touch hostname echo 192.168.1.110 | sudo tee /etc/marathon/conf/hostname
-
master2
echo 192.168.1.111 | sudo tee /etc/mesos-master/hostname mkdir -p /etc/marathon/conf/ && touch hostname echo 192.168.1.111 | sudo tee /etc/marathon/conf/hostname
-
master3
echo 192.168.1.112 | sudo tee /etc/mesos-master/hostname mkdir -p /etc/marathon/conf/ && touch hostname echo 192.168.1.112 | sudo tee /etc/marathon/conf/hostname
启动zookeeper mesos-master marathon
-
master1,master2,master3
systemctl start zookeeper && systemctl start mesos-master && systemctl start marathon && systemctl disable mesos-slave
3 Slave节点安装
规划
-
192.168.1.113 client1(我由于机器不够,slave安装在了master上了,启动服务时注意就行,别把master停了)
关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
添加 mesos的yum源
sudo rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm
安装mesos
yum -y install mesos
配置master信息
vi /etc/mesos/zk
zk://192.168.1.110:2181,192.168.1.111:2181,192.168.1.112:2181/mesos
cd /etc/mesos-slave/ touch hostname echo 192.168.1.113 | sudo tee /etc/mesos-slave/hostname
启动mesos-slave
systemctl start mesos-slave && systemctl enable mesos-slave systemctl disable mesos-master
4 测试
-
访问 http://192.168.1.110:5050 mesos地址
-
访问 http://192.168.1.110:8080 marathon地址,可利用其发布docker镜像并可调整应用数量
# systemctl status mesos-slave.service
● mesos-slave.service - Mesos Slave
Loaded: loaded (/usr/lib/systemd/system/mesos-slave.service; disabled; vendor preset: disabled)
Active: activating (auto-restart) (Result: exit-code) since 日 2016-02-21 23:55:50 CST; 9s ago
Process: 6009 ExecStart=/usr/bin/mesos-init-wrapper slave (code=exited, status=1/FAILURE)
Main PID: 6009 (code=exited, status=1/FAILURE)
Memory: 24.0K
CGroup: /system.slice/mesos-slave.service
2月 21 23:55:50 mesos mesos-slave[6016]: ranges {
2月 21 23:55:50 mesos mesos-slave[6016]: range {
2月 21 23:55:50 mesos mesos-slave[6016]: begin: 31000
2月 21 23:55:50 mesos mesos-slave[6016]: end: 32000
2月 21 23:55:50 mesos mesos-slave[6016]: }
2月 21 23:55:50 mesos mesos-slave[6016]: }
2月 21 23:55:50 mesos mesos-slave[6016]: role: "*"
2月 21 23:55:50 mesos systemd[1]: mesos-slave.service: main process exited, code=exited, status=1/FAILURE
2月 21 23:55:50 mesos systemd[1]: Unit mesos-slave.service entered failed state.
2月 21 23:55:50 mesos systemd[1]: mesos-slave.service failed.
如果出现这种错误,那可能是因为,slave的默认端口5051关闭了,telnet试一下,如果是,就开启此端口。
我是防火墙关了都telnet 不通5051,选择了reboot,解决了。
注:master的配置
为了使master正常工作,有三个必须配置的变量:ZooKeeper URL(zk),quorum,和work_dir。
ZooKeeper URL以如下方式指定:
zk://mesos-master-1.example.com:2181,mesos-master-2.example.com:2181,mesos-master-3.example.com:2181/mesos
- quorum(法定人数):需要大于master数目的1/2。
- work_dir(工作目录):此目录用于Mesos master的工作目录,没有默认设置,/var/lib/mesos是一个较好的选择。
如果把上面的配置都作为环境变量,可以使用类似于如下的命令:
$ export MESOS_zk=zk://mesos-master-1.example.com:2181,mesos-master-2.example.com:2181,mesos-master-3.example.com:2181/mesos
$ export MESOS_quorum=2
$ export MESOS_work_dir=/var/lib/mesos
$ export MESOS_log_dir=/var/log/mesos
slave的配置
为了使slave正常工作,有两个必须配置的变量:master和work_dir。
- master:它的值配置为ZooKeeper URL(zk),用于Mesos slave探测哪个是leading master并且连接到那。配置的方式同上。
- work_dir(工作目录):此目录作为Mesos frameworks的工作目录和sandboxes(沙箱),没有默认值,使用/var/lib/mesos是一个不错的选择。
如果把上面的配置都作为环境变量,可以使用类似于如下的命令:
$ export MESOS_master=zk://mesos-master-1.example.com:2181,mesos-master-2.example.com:2181,mesos-master-3.example.com:2181/mesos
$ export MESOS_work_dir=/var/lib/mesos
$ export MESOS_log_dir=/var/log/mesos
以上的配置基本上是可以使Mesos集群工作的最小配置。
关于Apache Mesos cluster的完整配置选项,请参考Mesos的官方文档http://mesos.apache.org/documentation/latest/configuration/。
更多推荐
所有评论(0)