博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通过Docker来部署Mesos集群
阅读量:6869 次
发布时间:2019-06-26

本文共 2175 字,大约阅读时间需要 7 分钟。

本文讲的是通过Docker来部署Mesos集群
【编者的话】Apache Mesos系统是一套资源管理调度集群系统,可以用来管理Docker集群,换个思路,本文介绍了如何通过Docker容器来部署一个单节点和多节点的Mesos集群,整个过程非常简单,只需要七个命令即可完成,整个步骤作者也记录到了GitHub,推荐学习。

这篇文章将教你如何使用Docker容器部署一个单节点的
集群,整个部署过程非常简单,只需要七个命令。在部署之前你需要准备一个装有Docker的环境,这个非常简单,我不赘述。我们总共需要启动四个容器,分别是:

  • ZooKeeper
  • Meso Master
  • Marathon
  • Mesos Slave Container

如上面提到的,我们只需要一个可以运行的Docker Server,你可以通过任何你喜欢的方式来获得Docker,比如在
、使用
、使用
或者在AWS安装。整个的部署过程我都放到了
上了,包括所有的容器构建的Dockerfile文件, 你可以本地去构建这些镜像, 或者从Docker Hub上下载已经构建好的镜像。我们所使用的是Docker Hub上的镜像是:


部署步骤

第一步:
获取Docker Server的IP,并赋值到HOST_IP变量中,在接下来的步骤中我们还会用到。

root@docker-server:/# HOST_IP=10.11.31.7

第二步:
启动ZooKeeper容器。

docker run -d \-p 2181:2181 \-p 2888:2888 \-p 3888:3888 \garland/zookeeper

第三步:
 启动Mesos Master。

docker run --net="host" \-p 5050:5050 \-e "MESOS_HOSTNAME=${HOST_IP}" \-e "MESOS_IP=${HOST_IP}" \-e "MESOS_ZK=zk://${HOST_IP}:2181/mesos" \-e "MESOS_PORT=5050" \-e "MESOS_LOG_DIR=/var/log/mesos" \-e "MESOS_QUORUM=1" \-e "MESOS_REGISTRY=in_memory" \-e "MESOS_WORK_DIR=/var/lib/mesos" \-d \garland/mesosphere-docker-mesos-master

第四步:
 启动Marathon。

docker run -d \-p 8080:8080 \garland/mesosphere-docker-marathon --master zk://${HOST_IP}:2181/mesos \--zk zk://${HOST_IP}:2181/marathon

第五步:
 启动Mesos Slave。

docker run -d \--name mesos_slave_1 \--entrypoint="mesos-slave" \-e "MESOS_MASTER=zk://${HOST_IP}:2181/mesos" \-e "MESOS_LOG_DIR=/var/log/mesos" \-e "MESOS_LOGGING_LEVEL=INFO" \garland/mesosphere-docker-mesos-master:latest

第六步:
 访问 Mesos 页面。

Mesos Web 页面地址是: 

http://${HOST_IP}:5050


第七步:
 通过Marathon的Web页面启动一个Job。Marathon Web页面地址是:http://${HOST_IP}:8080。


Marathon 可以让你部署长期运行的Job到Mesos Slave容器上, 这个可以帮助你去检查你的集群是否启动,并且处于running的状态, 打开上面的地址后你会看到下面的页面:


点击右上角的“New App”按钮,创建一个新的Job/Task, 我们这里只是输出一个”hello“到文件"/tmp/output.txt"里面,然后我们可以到容器中查看文件是否创建,并检查下这个Job是不是一直在运行。


第八步:
 检查Job/Task是不是在运行

接下来让我们检查下Job/Task是不是一直在Mesos Slave上面运行。

在Docker Server上运行下面的命令, 这个命令会让你进到Mesos Slave 容器中,然后再使用
tail
命令查看/tmp/output.txt文件里面的内容。

docker exec -it mesos_slave_1 /bin/bashroot@ca83bf0ea76a:/# tail -f /tmp/output.txt

你会看到每隔一秒钟“hello”就会被追加到这个文件中。


注意:多节点的Mesos环境部署步骤请参考


原文链接:(翻译:左伟 校对:李颖杰)
原文发布时间为: 2015-01-12
本文作者:左伟 
本文来自云栖社区合作伙伴DockerOne,了解相关信息可以关注DockerOne。
原文标题:通过Docker来部署Mesos集群

转载地址:http://wxcfl.baihongyu.com/

你可能感兴趣的文章
我的MYSQL学习心得(九)
查看>>
JavaScript高级程序设计学习笔记--DOM
查看>>
shell变量注意事项
查看>>
BASH Shell 简易进度条小函数
查看>>
linux解压rar压缩文件
查看>>
[Android]Android端ORM框架——RapidORM(v2.0)
查看>>
使用Masstransit开发基于消息传递的分布式应用
查看>>
Windows下使用ffmpeg与java实现截取视频缩略图
查看>>
iOS10-- snapshotViewAfterScreenUpdates 失效
查看>>
微信小程序开发教程!博卡君第二弹【微信小程序项目结构以及配置】
查看>>
Andorid面试问题整理
查看>>
phalcon: 官方多模块
查看>>
RabbitMQ学习笔记3-使用topic交换器
查看>>
Storm概念学习系列 之Worker工作者进程
查看>>
C# 类的多态、结构、接口、抽象、虚函数总结
查看>>
tomcat添加https
查看>>
IntelliJ IDEA导航特性Top20
查看>>
simplify-path
查看>>
Nginx系列3之Nginx+tomcat
查看>>
PHP socket编程需要了解的一些基本知识
查看>>