mesos+marathon+zookeeper的docker管理集群亲手搭建实例(详细)
来源:互联网 发布:软件单元测试报告 rup 编辑:程序博客网 时间:2024/06/05 02:51
mesos+marathon+zookeeper的docker管理集群亲手搭建实例(详细)
1:规划(5master+3slave)
master:
10.64.5.184 ---master1
10.64.5.185 ---master2
10.64.5.186 ---master3
10.64.5.187 ---master4
10.64.5.188 ---master5
slave:
10.64.5.170 ---slave1
10.64.5.172 ---slave2
10.64.5.167 ---slave3
2:配置master节点
(1)关闭防火墙
master1 master2 master3 master4 master5
#systemctl stop firewalld && systemctl disable firewalld
(2)添加mesos的yum源
master1 master2 master3 master4 master5
#sudo rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm
(3)安装mesos,marathon,zookeeper
master1 master2 master3 master4 master5
#yum -y install mesos marathon mesosphere-zookeeper
(4)配置zookeeper
#设置文件[/var/lib/zookeeper/myid]为当前mesos master节点的id,id必须为1-255之中的整数,例如:1
master1
#echo 1 > /var/lib/zookeeper/myid
master2
#echo 2 > /var/lib/zookeeper/myid
master3
#echo 3 > /var/lib/zookeeper/myid
master4
#echo 4 > /var/lib/zookeeper/myid
master5
#echo 5 > /var/lib/zookeeper/myid
#master_node_id为master节点id同该节点[/var/lib/zookeeper/myid]文件的配置,master_node_ip为master节点的ip地址:server.$master_node_id=$master_node_ip:2888:3888
其中第一个端口2888用来集群成员的信息交换,第二个端口3888是在leader挂掉时专门用来进行选举leader所用。
master1 master2 master3 master4 master5
#vim /etc/zookeeper/conf/zoo.cfg
结尾添加内容
server.1=10.64.5.184:2888:3888
server.2=10.64.5.185:2888:3888
server.3=10.64.5.186:2888:3888
server.4=10.64.5.187:2888:3888
server.5=10.64.5.188:2888:3888
#vim /etc/mesos/zk
完全替换原来内容:
zk:
//10
.64.5.184:2181,10.64.5.185:2181,10.64.5.186:2181,10.64.5.187:2181,10.64.5.188:2181
/mesos
#设置文件[/etc/mesos-master/quorum]内容为一个大于(master节点数除以2)的整数。
#echo 3 >/etc/mesos-master/quorum
完全替换原来内容:
3
(5)配置mesos和marathon
#主机名和ip要在hosts中写入,不能全部使用localhost,否则会出现slave不能识别,以及marathon任务下发不正常等现象。
master1
# mkdir -p /etc/marathon/conf
# echo 10.64.5.184 > /etc/mesos-master/hostname
# echo 10.64.5.184 > /etc/marathon/conf/hostname
#hostnamectl --static set-hostname master-1.com
#echo "10.64.5.184 master-1 master-1.com" >/etc/hosts
master2
# mkdir -p /etc/marathon/conf
# echo 10.64.5.185 > /etc/mesos-master/hostname
# echo 10.64.5.185 > /etc/marathon/conf/hostname
#hostnamectl --static set-hostname master-2.com
#echo "10.64.5.185 master-2 master-2.com" >/etc/hosts
master3
# mkdir -p /etc/marathon/conf
# echo 10.64.5.186 > /etc/mesos-master/hostname
# echo 10.64.5.186> /etc/marathon/conf/hostname
#hostnamectl --static set-hostname master-3.com
#echo "10.64.5.186 master-3 master-3.com" >/etc/hosts
master4
# mkdir -p /etc/marathon/conf
# echo 10.64.5.187 > /etc/mesos-master/hostname
# echo 10.64.5.187 > /etc/marathon/conf/hostname
#hostnamectl --static set-hostname master-4.com
#echo "10.64.5.187 master-4 master-4.com" >/etc/hosts
master5
# mkdir -p /etc/marathon/conf
# echo 10.64.5.188 > /etc/mesos-master/hostname
# echo 10.64.5.188 > /etc/marathon/conf/hostname
#hostnamectl --static set-hostname master-5.com
#echo "10.64.5.188 master-5 master-5.com" >/etc/hosts
master1 master2 master3 master4 master5
# cp /etc/mesos/zk /etc/marathon/conf/master
# cp /etc/mesos/zk /etc/marathon/conf/zk
# sed -i 's|mesos|marathon|g' /etc/marathon/conf/zk
(6)启动mesos,marathon,zookeeper
master1 master2 master3 master4 master5
# systemctl start zookeeper && systemctl start mesos-master && systemctl start marathon
# systemctl disable mesos-slave
(7)检查配置
#配置过程中出错,为了方便检查对比各master配置,直接执行如下命令。
cat
/var/lib/zookeeper/myid
&& \
tail
-6
/etc/zookeeper/conf/zoo
.cfg && \
cat
/etc/mesos/zk
&&
cat
/etc/mesos-master/quorum
&& \
cat
/etc/mesos-master/hostname
&&
cat
/etc/marathon/conf/hostname
&& \
cat
/etc/marathon/conf/master
&&
cat
/etc/marathon/conf/zk
还可以创建
/etc/mesos-master/cluster
文件,写入集群的别名。
2:配置slave节点
(1)关闭防火墙
slave1 slave2 slave3
#systemctl stop firewalld && systemctl disable firewalld
(2)添加mesos的yum源
slave1 slave2 slave3
#sudo rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm
(3)安装mesos,marathon,zookeeper
slave1 slave2 slave3
#yum -y install mesos
(4)配置master信息
slave1
#echo 10.64.5.167 > /etc/mesos-slave/hostname
#hostnamectl --static set-hostname slave-1.com
#echo "10.64.5.167 slave-1 slave-1.com" >/etc/hosts
slave2
#echo 10.64.5.170 > /etc/mesos-slave/hostname
#hostnamectl --static set-hostname slave-2.com
#echo "10.64.5.170 slave-2 slave-2.com " >/etc/hosts
slave3
#echo 10.64.5.172 > /etc/mesos-slave/hostname
#hostnamectl --static set-hostname slave-1.com
#echo "10.64.5.172 slave-3 slave-3.com " >/etc/hosts
slave1 slave2 slave3
#vi /etc/mesos/zk
增加:
zk:
//10
.64.5.184:2181,10.64.5.185:2181,10.64.5.186:2181,10.64.5.187:2181,10.64.5.188:2181
/mesos
(5)启动slave
#systemctl start mesos-slave && systemctl enable mesos-slave
#systemctl disable mesos-master
3:访问web管理页面
访问mesos的管理页面。master_ip:5050
#master_ip是这5个master中的任意一个就行,经过zookeeper选主喉,会自动跳到了leader的页面,如图mesos的leader为187。
在Frameworks中已经能够识别marathon,此时marathon的leader为10.64.5.186.
#mesos和marathon都是有zookeeper来选举leader,但是选主过程彼此独立,就是mesos的leader为187,但是marathon的leader为186(如图)。
已经能够识别三个slave。
访问marathon的管理页面。master_ip:8080
6
分享
收藏
发表评论
6条评论
按时间倒序
按时间正序
litao941
1楼 . 2016-03-16 10:39
Failed to connect to slave '4b235aa9-8daf-40a1-9a85-484b2d00e4a5-S1' on 'docker006.v.com:5051'.
Potential reasons:
The slave's hostname, 'docker006.v.com', is not accessible from your network
The slave's port, '5051', is not accessible from your network
The slave timed out or went offline
上面从 mesos 的 master 入口看到每个 slave 都有这样的错误, 不知做何解释, hosts 是有绑定的。
0人赞
0人回复
IT废柴
2楼 . 2016-07-05 17:29
0人赞
1人回复
- 作者酱酱酱子啊:@IT废柴 haproxy可以用bamboo来解决
2016-07-06 14:57
回复
添加新评论
Ctrl+Enter 发布
发布
取消
龙尤在飞
3楼 . 2016-09-29 00:18
0人赞
1人回复
- 作者 酱酱酱子啊:@龙尤在飞 docker的集群管理,肯定要用到服务发现的机制,这个容器的IP不可能是人为手动去设置,就是每当你扩展一个容器出来。不管这个容器落在哪个slave上面,端口是多少。都会自动的把这个容器的地址添加到负载均衡的配置中。有个项目叫做bamboo,你可以看一下,就是解决这个问题的。
2016-10-11 10:52
回复
添加新评论
Ctrl+Enter 发布
发布
取消
龙尤在飞
4楼 . 2016-10-24 20:05
0人赞
0人回复
酱酱酱子
分享到朋友圈
- 24
文章
- 22
评论
- 24
点赞
- 9W+
人气
TA的其他文章
- Docker主机升级到4.9版本内核,使用Overlayfs取代Devicemapper
- 【2】微服务架构-kong的集群化部署
- 【1】微服务架构-开源API网关Kong的部署与使用
- Docker1.12.1之swarm集群搭建与使用
- Shipyard集群化docker管理平台部署
七日热门
- 使用Python编写一个渗透测试探测器
- WSFC2016 SMB多通道与网络调校
- Windows下常用的100个CMD指令以及常见的操作
- 揭秘黑客攻击内幕和20个黑客相关术语
- 生产环境Elk Stack部署文档
- mesos+marathon+zookeeper的docker管理集群亲手搭建实例(详细)
- mesos+marathon+zookeeper的docker管理集群亲手搭建实例(详细)
- 基于Mesos+Marathon+Zookeeper的Docker集群管理环境搭建过程分享
- 使用Mesos管理Docker集群(Mesos + Marathon + Chronos + Docker)
- Bluemix平台一步一步搭建ZooKeeper + Mesos + Marathon平台管理Docker集群之一
- Bluemix平台一步一步搭建ZooKeeper + Mesos + Marathon平台管理Docker集群之二
- Mesos+Zookeeper+Marathon+Docker分布式集群管理最佳实践
- 基于Mesos+Marathon+Zookeeper的Docker容器管理平台
- Mesos+ZooKeeper+Marathon+Docker
- 使用Mesos和Marathon管理Docker集群
- Docker系列之(二):使用Mesos管理Docker集群(Mesos + Marathon + Chronos + Docker)
- Docker系列之(二):使用Mesos管理Docker集群(Mesos + Marathon + Chronos + Docker)
- Mesos+Zookeeper+Marathon的Docker管理平台部署记录(1)
- Mesos+Zookeeper+Marathon的Docker管理平台部署记录(1)
- 云计算学习总结(1)——PaaS云平台部署之在Centos7搭建Mesos+Zookeeper+Marathon+Docker单机集群
- centos7配置zookeeper+mesos+marathon+docker
- Mesos + Marathon + Deimos + Docker 容器集群组建
- Mesos+Docker+Marathon环境搭建教程
- hive的内置函数
- 【UML 建模】UML入门 之 交互图 -- 时序图 协作图详解
- Spring之运行时获取controller参数名称的方法
- 终端音视频播放处理方案整理
- HTTP的状态码
- mesos+marathon+zookeeper的docker管理集群亲手搭建实例(详细)
- Java中long和Long有什么区别
- Mac 关闭chrome的自动更新解决版本更新造成的自动化测试脚本执行不通过的问题
- SGU
- 产品——小理解,
- Duplicate entry 'XXX' for key 'XXX'
- C# 获取路径中,文件名、目录、扩展名等
- 机器学习之-线性回归算法【人工智能工程师--AI转型必修课】
- SQL数据库50例题
程序博客网,程序员的互联网技术博客家园。csdn论坛精品 msdn技术资料都在这里
Ctrl+Enter 发布
发布
取消