mesos+marathon管理docker集群
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mesos+marathon管理docker集群,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5636字,纯文字阅读大概需要9分钟。
内容图文
![mesos+marathon管理docker集群](/upload/InfoBanner/zyjiaocheng/1193/384cdd1634234898b018f12c19bff53d.jpg)
服务器架构
主机名 |
IP |
安装服务 |
mesos-master |
192.168.56.7 |
docker 、 mesos-master 、 mesos-slave 、 marathon 、 zookeeper |
mesos-slave |
192.168.56.8 |
docker 、 mesos-slave 、 zookeeper |
系统环境
# uname -r
3.10.0-229.el7.x86_64
# cat /etc/redhat-release
CentOS Linuxrelease 7.1.1503 (Core)
配置 hosts
# vim /etc/hosts
192.168.56.7 mesos-master
192.168.56.8 mesos-slave
安装 docker
mesos-master
安装 docker
[root@mesos-master~]# yum install -y docker
[root@mesos-master~]# systemctl enable docker
[root@mesos-master~]# systemctl start docker
创建 nginx 镜像
[root@mesos-master~]# docker pull nginx
mesos-slave
安装 docker
[root@mesos-slave~]# yum install -y docker
[root@mesos-slave~]# systemctl enable docker
[root@mesos-slave~]# systemctl start docker
创建 nginx 镜像
[root@mesos-master~]# docker pull nginx
部署 zookeeper
mesos-master
安装依赖
[root@mesos-master~]# yum install -y java-1.8.0-openjdk-devel java-1.8.0-openjdk
下载 zookeeper
[root@mesos-master~]# mkdir /application
root@mesos-master~]# cd /application/
[root@mesos-masterapplication]# curl -O http://apache.fayea.com/zookeeper/stable/zookeeper-3.4.6.tar.gz
[root@mesos-masterapplication]# tar xf zookeeper-3.4.6.tar.gz
[root@mesos-masterapplication]# ln -s /application/zookeeper-3.4.6 /application/zookeeper
配置 zookeeper
[root@mesos-masterapplication]# cd zookeeper/conf/
[root@mesos-masterconf]# grep -v "#" zoo_sample.cfg >zoo.cfg
[root@mesos-masterconf]# vim zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/application/zookeeper/data
clientPort=2181
server.1=192.168.56.7:2333:3222
server.2=192.168.56.8:2333:3222
[root@mesos-masterconf]# mkdir ../data
[root@mesos-masterconf]# echo 1 >../data/myid
[root@mesos-masterconf]# cd
启动 zookeeper
[root@mesos-master~]# /application/zookeeper/bin/zkServer.sh start
JMX enabled bydefault
Using config:/application/zookeeper/bin/../conf/zoo.cfg
Startingzookeeper ... STARTED
[root@mesos-master~]# /application/zookeeper/bin/zkServer.sh status
JMX enabled bydefault
Using config:/application/zookeeper/bin/../conf/zoo.cfg
Error contactingservice. It is probably not running.
** 出现 Error 主要是由于 mesos-slave 没有启动
mesos-slave
安装依赖
[root@mesos-slave~]# yum install -y java-1.8.0-openjdk-devel java-1.8.0-openjdk
下载 zookeeper
[root@mesos-slave~]# mkdir /application
[root@mesos-slave~]# cd /application/
[root@mesos-slaveapplication]# curl -O http://apache.fayea.com/zookeeper/stable/zookeeper-3.4.6.tar.gz
[root@mesos-slaveapplication]# tar xf zookeeper-3.4.6.tar.gz
[root@mesos-slaveapplication]# ln -s /application/zookeeper-3.4.6 /application/zookeeper
配置 zookeeper
[root@mesos-slaveapplication]# cd zookeeper/conf/
[root@mesos-slaveconf]# grep -v "#" zoo_sample.cfg >zoo.cfg
[root@mesos-slaveconf]# vim zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/application/zookeeper/data
clientPort=2181
server.1=192.168.56.7:2333:3222
server.2=192.168.56.8:2333:3222
[root@mesos-slaveconf]# mkdir ../data
[root@mesos-slaveconf]# echo 2 >../data/myid
[root@mesos-slaveconf]# cd
启动 zookeeper
[root@mesos-slave~]# /application/zookeeper/bin/zkServer.sh start
部署 mesos 、 marathon
mesos-master
下载 mesosphere 仓库
[root@mesos-master~]# rpm -ivh http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm
安装 mesos marathon
[root@mesos-master~]# yum install -y mesos marathon
配置 marathon 使用 mesos 调用 docker
[root@mesos-master~]# echo ‘docker,mesos‘ >/etc/mesos-slave/containerizers
启动 mesos 、 marathon
[root@mesos-master~]# systemctl enable mesos-master mesos-slave marathon
[root@mesos-master~]# systemctl start mesos-master mesos-slave marathon
mesos-slave
下载 mesosphere 仓库
[root@mesos-slave~]# rpm -ivh http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm
安装 mesos
[root@mesos-slave~]# yum install -y mesos
添加 zookeeper 配置
[root@mesos-slave~]# vim /etc/mesos/zk
zk://192.168.56.7:2181,192.168.56.8:2181/mesos
配置 marathon 使用 mesos 调用 docker
[root@mesos-slave~]# echo ‘docker,mesos‘ > /etc/mesos-slave/containerizers
启动 mesos
[root@mesos-slave~]# systemctl enable mesos-slave
[root@mesos-slave ~]# systemctl startmesos-slave
检查 mesos 和 marathon
在浏览器中输入 http://192.168.56.7:5050 看到如下图,表示 mesos 安装成功
在浏览器中输入
http://192.168.56.7:8080
看到如下图,表示
marathon
安装成功
使用 marathon 调度 mesos 创建 docker 容器
编辑 json 文件
[root@mesos-master~]# vim nginx.json
{
"id":"nginx",
"cpus":0.1,
"mem":10,
"instances": 1,
"constraints":[["hostname", "UNIQUE",""]],
"container": {
"type":"DOCKER",
"docker": {
"image": "nginx",
"network": "BRIDGE",
"portMappings": [
{"containerPort": 80,"hostPort": 0,"servicePort": 0, "protocol":"tcp" }
]
}
}
}
调用 json
[root@mesos-master ~]# curl -X POSThttp://192.168.56.7:8080/v2/apps-d @nginx.json -H "Content-type:application/json"
查看 mesos
查看 marathon
使用 docker 查看
[root@mesos-slave~]# docker ps
CONTAINERID IMAGE COMMAND CREATED STATUS PORTS NAMES
5df80cefaee8 nginx "nginx -g ‘daemonoff" 6 minutes ago Up 6 minutes 443/tcp, 0.0.0.0:31125->80/tcp mesos-8a9358e1-275d-46ec-ba5c-e57e0578f354-S1.071c4b7a-55d0-41f6-9259-077373fb8e18
本文出自 “长街听风人” 博客,请务必保留此出处http://kevinhao.blog.51cto.com/5204735/1741552
原文:http://kevinhao.blog.51cto.com/5204735/1741552
内容总结
以上是互联网集市为您收集整理的mesos+marathon管理docker集群全部内容,希望文章能够帮你解决mesos+marathon管理docker集群所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。