使用 Docker, 7 个命令部署一个 Mesos 集群
来源:互联网 发布:ipod打电话软件 编辑:程序博客网 时间:2024/06/07 17:23
这个教程将给你展示怎样使用 Docker 容器提供一个单节点的 Mesos 集群(未来的一篇文章将展示怎样很容易的扩展这个到多个节点或者是见底部更新)。这意味着你可以使用 7 个命令启动整个集群!不需要安装任何东西除了一个正在运行的 Docker 服务器。
将启动 4 个容器:
- ZooKeeper
- Meso Master
- Marathon
- Mesos Slave Container
正如唯一要求提到的是有一个正在运行的 Docker 服务器。这意味着你可以启动一个本地的 已经安装 Docker 的 Vagrant box,使用 Boot2Docker,使用 CoreOS,AWS 上的实例,或者任何你可以获取到的 Docker 服务器。
在 Github repository 概述了这整个过程。
sekka1/mesosphere-docker
以上所有的 Docker 容器构建文件都在这里。你可以在本地构建每一个容器或者仅仅使用位于 Docker Hub 上的预构建容器。以下的脚本将为你自动下载需要的预构建容器。
ZooKeeper — https://registry.hub.docker.com/u/garland/zookeeper/
Meso Master — https://registry.hub.docker.com/u/garland/mesosphere-docker-mesos-master/
Marathon — https://registry.hub.docker.com/u/garland/mesosphere-docker-marathon/
让我们开始
第一步:或者 Docker 服务器的 IP 并导出到环境变量。我们将在随后的 Docker 命令中不断地使用这个 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 的 webpage
依赖于你怎样设置的你的 Docker server 和它的 IP 地址,你或许不得不改变你输入到浏览器的 IP 但是端口是一样的。
Mesos webpage 将在这个地址:
http://${HOST_IP}:5050
这时候你将得到一个像这样的页面但可能在‘Tasks’ 表格没有任何的条目。
第七步:进入 Marathon 的 webpage 启动一个任务
Marathon 的 webpage 让你调度在 Meso Slave 容器长时间运行的任务。这是一个非常好的查看你集群是否在正常运行的测试。你可以这样看 Marathon 的 webpage:
http://${HOST_IP}:8080
点击在顶部右端的 “New App” 按钮会给你以下的菜单,你可以创建一个新的 job/task。我们简单的输出一个 hello 到一个文件中。我们可以进入到容器并检查该文件是否被创建以及该 job 是否在持续运行。
第八步:检查 job/task 是否正在运行
让我们检查 job/task 在 Mesos Slave 上是否正在持续运行。
在 Docker server 运行以下命令。它将让你进入 slave 容器并从那里 tail out 这 output.txt 文件。
docker exec -it mesos_slave_1 /bin/bashroot@ca83bf0ea76a:/# tail -f /tmp/output.txt
你将看到 “hello” 每秒一次的被放入该文件中。
- 使用 Docker, 7 个命令部署一个 Mesos 集群
- 7条命令在docker中部署Mesos集群
- 使用Docker部署Mesos
- 使用Mesos管理Docker集群(Mesos + Marathon + Chronos + Docker)
- 使用Mesos和Marathon管理Docker集群
- Docker系列之(二):使用Mesos管理Docker集群(Mesos + Marathon + Chronos + Docker)
- Docker系列之(二):使用Mesos管理Docker集群(Mesos + Marathon + Chronos + Docker)
- Docker系列之(二):使用Mesos管理Docker集群
- mesos集群部署教程
- 使用Docker部署Spark集群
- Spark on Mesos集群部署
- Mesos集群yum安装部署
- Docker基础教程(7)-终焉-使用Docker部署一个web服务器
- mesos+docker集群之zookeeper
- Mesos + Marathon + Deimos + Docker 容器集群组建
- 使用docker搭建部署hadoop分布式集群
- Mesos, Marathon, Docker 平台部署记录
- 【云星数据---mesos实战系列003】:marathon实战007--marathon部署一个docker register
- [DeeplearningAI笔记]ML strategy_2_1误差分析
- InputStream中read()与read(byte[] b)
- caffe中的Power层
- Leetcode [210. Course Schedule II]
- JAVA架构师面试题,如何成为架构师
- 使用 Docker, 7 个命令部署一个 Mesos 集群
- getIntent().getxxExtra("xx")会不会造成NullPointer异常?
- 算法初步--求最大子数组和【暴力|优化枚举|贪心 】求解
- 初学者怎么画漫画人体结构与动态
- 面试中常被问到的有关进程、线程和网络的问题
- 排序算法-快速排序
- 浅析依赖注入
- css书写样式
- iverilog安装