所有使用的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/
第1步:获取Docker服务器的IP,并出口出来到环境中。我们将使用这个IP一遍又一遍在随后的Docker命令。
root@docker-server:/# HOST_IP=10.11.31.7
第2步:启动ZooKeeper的容器。
docker run -d \
-p 2181:2181 \
-p 2888:2888 \
-p 3888:3888 \
garland/zookeeper
第3步:启动Mesos主服务器
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
第4步:启动马拉松Marathon
docker run \
-d \
-p 8080:8080 \
garland/mesosphere-docker-marathon --master zk://${HOST_IP}:2181/mesos --zk zk://${HOST_IP}:2181/marathon
第5步:在一个容器中启动Mesos
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
第6步:转到了Mesos“网页
这取决于你如何把你的Docker服务器,它的IP地址,你可能需要改变你的浏览器指向的IP,但端口是相同的。
该Mesos网页将在这个地址:
${HOST_IP}:5050
那么你应该得到这样的页面,但可能在第一次没有在“任务”表中的所有项目。
步骤7:转到Marathon的网页开始作业
Marathon网页让您安排长时间运行的任务,到中观从容器中。这是一个很好的测试,看看你的集群启动并运行。您可以在观看Marathon的网页:
HTTP://$ {} HOST_IP:8080
点击右上角“新应用”按钮,为您提供以下菜单,你可以创建一个新的工作/任务。我们只是要呼应了招呼到一个文件中。我们可以进入容器中,如果创建的文件检查,如果作业连续运行。
第8步:检查工作/任务运行
让检查工作/任务不断在Mesos从运行。
在Docker服务器中运行以下命令。它将把你内心的奴隶容器,并从那里尾出output.txt的文件。
docker exec -it mesos_slave_1 /bin/bash
root@ca83bf0ea76a:/# tail -f /tmp/output.txt
你会看到“你好”被放置到这个文件约每秒一次。
更新:我刚刚更新了此项目文档,包括如何设置多节点环境:
CentOS 6/7系列安装Docker
在Ubuntu Trusty 14.04 (LTS) (64-bit)安装Docker