通过Docker来部署Mesos集群

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
简介: 本文讲的是通过Docker来部署Mesos集群,【编者的话】Apache Mesos系统是一套资源管理调度集群系统,可以用来管理Docker集群,换个思路,本文介绍了如何通过Docker容器来部署一个单节点和多节点的Mesos集群,整个过程非常简单,只需要七个命令即可完成,整个步骤作者也记录到了GitHub,推荐学习。
本文讲的是通过Docker来部署Mesos集群 【编者的话】Apache Mesos系统是一套资源管理调度集群系统,可以用来管理Docker集群,换个思路,本文介绍了如何通过Docker容器来部署一个单节点和多节点的Mesos集群,整个过程非常简单,只需要七个命令即可完成,整个步骤作者也记录到了GitHub,推荐学习。

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

如上面提到的,我们只需要一个可以运行的Docker Server,你可以通过任何你喜欢的方式来获得Docker,比如在 本地的Vagrant中安装Docker 、使用 Boot2Docker 、使用 CoreOS 或者在AWS安装。整个的部署过程我都放到了 GitHub 上了,包括所有的容器构建的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

mesos.png

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

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

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

第八步:  检查Job/Task是不是在运行
接下来让我们检查下Job/Task是不是一直在Mesos Slave上面运行。
在Docker Server上运行下面的命令, 这个命令会让你进到Mesos Slave 容器中,然后再使用 tail 命令查看/tmp/output.txt文件里面的内容。
docker exec -it mesos_slave_1 /bin/bash
root@ca83bf0ea76a:/# tail -f /tmp/output.txt

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

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

原文链接:Deploy a Mesos Cluster with 7 Commands Using Docker(翻译:左伟 校对:李颖杰)

原文发布时间为: 2015-01-12
本文作者:左伟 
本文来自云栖社区合作伙伴DockerOne,了解相关信息可以关注DockerOne。
原文标题:通过Docker来部署Mesos集群
相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
1月前
|
人工智能 API 数据安全/隐私保护
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
NextChat 是一个可以在 GitHub 上一键免费部署的私人 ChatGPT 网页应用,支持 GPT3、GPT4 和 Gemini Pro 模型。该项目在 GitHub 上获得了 63.8k 的 star 数。部署简单,只需拉取 Docker 镜像并运行容器,设置 API Key 后即可使用。此外,NextChat 还提供了预设角色的面具功能,方便用户快速创建对话。
140 22
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
|
16天前
|
Prometheus 监控 Cloud Native
如何使用Prometheus监控Docker Swarm集群的资源使用情况?
还可以根据实际需求进行进一步的配置和优化,如设置告警规则,当资源使用超出阈值时及时发出警报。通过这些步骤,能够有效地使用 Prometheus 对 Docker Swarm 集群的资源进行监控和管理。
35 8
|
16天前
|
Prometheus 监控 Cloud Native
如何监控Docker Swarm集群的性能?
如何监控Docker Swarm集群的性能?
62 8
|
17天前
|
监控 Docker 容器
Docker Swarm集群的扩展与缩容策略,涵盖其意义、方法、步骤及注意事项
本文深入探讨了Docker Swarm集群的扩展与缩容策略,涵盖其意义、方法、步骤及注意事项,旨在帮助用户高效管理集群资源,适应业务变化,确保服务稳定性和资源优化。
40 6
|
16天前
|
Java 应用服务中间件 Docker
将基于 Spring 的 WAR 应用程序部署到 Docker:详尽指南
将基于 Spring 的 WAR 应用程序部署到 Docker:详尽指南
22 2
|
22天前
|
Java Linux Docker
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
39 3
|
29天前
|
机器学习/深度学习 数据采集 Docker
Docker容器化实战:构建并部署一个简单的Web应用
Docker容器化实战:构建并部署一个简单的Web应用
|
26天前
|
持续交付 开发者 Docker
掌握Docker容器化技术,加速软件开发与部署
掌握Docker容器化技术,加速软件开发与部署
45 0
|
1月前
|
API Docker 容器
【赵渝强老师】构建Docker Swarm集群
本文介绍了如何使用三台虚拟主机构建Docker Swarm集群。首先在master节点上初始化集群,然后通过特定命令将node1和node2作为worker节点加入集群。最后,在master节点上查看集群的节点信息,确认集群构建成功。文中还提供了相关图片和视频教程,帮助读者更好地理解和操作。
|
1月前
|
调度 Docker 容器
【赵渝强老师】Docker Swarm集群的体系架构
Docker Swarm自1.12.0版本起集成至Docker引擎,无需单独安装。它内置服务发现功能,支持跨多服务器或宿主机创建容器,形成集群提供服务。相比之下,Docker Compose仅限于单个宿主机。Docker Swarm采用主从架构,Swarm Manager负责管理和调度集群中的容器资源,用户通过其接口发送指令,Swarm Node根据指令创建容器运行应用。