阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

使用 Docker,7 个命令部署一个 Mesos 集群

157次阅读
没有评论

共计 2821 个字符,预计需要花费 8 分钟才能阅读完成。

这个教程将给你展示怎样使用 Docker 容器提供一个单节点的 Mesos 集群(未来的一篇文章将展示怎样很容易的扩展这个到多个节点或者是见底部更新)。这意味着你可以使用 7 个命令启动整个集群!不需要安装任何东西除了一个正在运行的 Docker 服务器。

将启动 4 个容器:

  1. ZooKeeper
  2. Meso Master
  3. Marathon
  4. 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’表格没有任何的条目。

使用 Docker,7 个命令部署一个 Mesos 集群

第七步 :进入 Marathon 的 webpage 启动一个任务

Marathon 的 webpage 让你调度在 Meso Slave 容器长时间运行的任务。这是一个非常好的查看你集群是否在正常运行的测试。你可以这样看 Marathon 的 webpage:

http://${HOST_IP}:8080

使用 Docker,7 个命令部署一个 Mesos 集群

点击在顶部右端的“New App”按钮会给你以下的菜单,你可以创建一个新的 job/task。我们简单的输出一个 hello 到一个文件中。我们可以进入到容器并检查该文件是否被创建以及该 job 是否在持续运行。

使用 Docker,7 个命令部署一个 Mesos 集群

第八步 :检查 job/task 是否正在运行

让我们检查 job/task 在 Mesos Slave 上是否正在持续运行。

在 Docker server 运行以下命令。它将让你进入 slave 容器并从那里 tail out 这 output.txt 文件。

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

你将看到“hello”每秒一次的被放入该文件中。

更新:我更新了该项目文档包含了怎样设置一个多节点的环境:https://github.com/sekka1/mesosphere-docker#multi-node-setup

如何在 Ubuntu 14.10 上安装 WordPress?http://www.linuxidc.com/Linux/2015-02/112648.htm

Docker 安装应用 (CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm 

在 Docker 中使用 MySQL http://www.linuxidc.com/Linux/2014-01/95354.htm

在 Ubuntu Trusty 14.04 (LTS) (64-bit) 安装 Docker http://www.linuxidc.com/Linux/2014-10/108184.htm 

Docker 安装应用 (CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm 

Ubuntu 14.04 安装 Docker  http://www.linuxidc.com/linux/2014-08/105656.htm 

阿里云 CentOS 6.5 模板上安装 Docker http://www.linuxidc.com/Linux/2014-11/109107.htm 

Docker 的详细介绍 :请点这里
Docker 的下载地址 :请点这里

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-06/118589.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计2821字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中