设置一个docker / fig Mesos环境
我试图build立一个docker / fig Mesos集群。 我是新来的无花果和docker工人。 Docker有很多文档,但是我发现自己正在努力去理解如何使用无花果。
这是我目前的fig.yaml:
zookeeper: image: jplock/zookeeper ports: - "49181:2181" mesosMaster: image: mesosphere/mesos:0.19.1 ports: - "15050:5050" links: - zookeeper:zk command: mesos-master --zk=zk --work_dir=/var/log --quorum=1 mesosSlave: image: mesosphere/mesos:0.19.1 links: - zookeeper:zk command: mesos-slave --master=zk
谢谢 !
编辑:
感谢Mark O`Connor的帮助,我创build了一个基于docker的工作模式(+ storm,chronos等等)。
享受,如果你觉得这有用 – 请提供: https : //github.com/yaronr/docker-mesos
PS。 请+1 Mark的回答:)
你没有注明你遇到的错误。
这是您正在使用的图像的文档:
Mesos使用来自https://mesosphere.io/downloads/的Mesosphere包来pipe理Docker。 不启动Mesos,请使用mesos-master和mesos-slave Dockers。
真正担心这些图像的是,他们是不信任的,没有立即可用的来源。
所以我重新创build了使用中间层github作为灵感的示例:
更新示例
更新示例以包含chronos框架
├── build.sh ├── fig.yml ├── mesos │ └── Dockerfile ├── mesos-chronos │ └── Dockerfile ├── mesos-master │ └── Dockerfile └── mesos-slave └── Dockerfile
build立基本的形象(只需要做一次)
./build.sh
运行图开始每个服务的实例:
$ fig up -d Creating mesos_zk_1... Creating mesos_master_1... Creating mesos_slave_1... Creating mesos_chronos_1...
关于无花果的一个有用的事情是,你可以扩大奴隶
$ fig scale slave=5 Starting mesos_slave_2... Starting mesos_slave_3... Starting mesos_slave_4... Starting mesos_slave_5...
mesos主控台应该显示5个从站正在运行
http://localhost:15050/#/slaves
而chronos框架应该正在运行,并准备启动任务
http://localhost:14400
fig.yml
zk: image: mesos command: /usr/share/zookeeper/bin/zkServer.sh start-foreground master: build: mesos-master ports: - "15050:5050" links: - "zk:zookeeper" slave: build: mesos-slave links: - "zk:zookeeper" chronos: build: mesos-chronos ports: - "14400:4400" links: - "zk:zookeeper"
笔记:
- 这个例子只需要一个zookeeper实例
build.sh
docker build --rm=true --tag=mesos mesos
mesos / Dockerfile
FROM ubuntu:14.04 MAINTAINER Mark O'Connor <mark@myspotontheweb.com> RUN echo "deb http://repos.mesosphere.io/ubuntu/ trusty main" > /etc/apt/sources.list.d/mesosphere.list RUN apt-key adv --keyserver keyserver.ubuntu.com --recv E56151BF RUN apt-get -y update RUN apt-get -y install mesos marathon chronos
mesos主/ Dockerfile
FROM mesos MAINTAINER Mark O'Connor <mark@myspotontheweb.com> EXPOSE 5050 CMD ["--zk=zk://zookeeper:2181/mesos", "--work_dir=/var/lib/mesos", "--quorum=1"] ENTRYPOINT ["mesos-master"]
mesos从式/ Dockerfile
FROM mesos MAINTAINER Mark O'Connor <mark@myspotontheweb.com> CMD ["--master=zk://zookeeper:2181/mesos"] ENTRYPOINT ["mesos-slave"]
mesos-克罗诺斯/ Dockerfile
FROM mesos MAINTAINER Mark O'Connor <mark@myspotontheweb.com> RUN echo "zk://zookeeper:2181/mesos" > /etc/mesos/zk EXPOSE 4400 CMD ["chronos"]
笔记:
- “chronos”命令行是使用文件configuration的。