设置docker/fig Mesos环境

设置docker/fig Mesos环境,docker,apache-storm,mesos,fig,Docker,Apache Storm,Mesos,Fig,我正试图建立一个docker/fig Mesos集群。 我是菲格和多克的新手。Docker有很多文档,但我发现自己很难理解如何使用fig 这是我目前的fig.yaml: zookeeper: image: jplock/zookeeper ports: - "49181:2181" mesosMaster: image: mesosphere/mesos:0.19.1 ports: - "15050:5050" links: - zookeeper:

我正试图建立一个docker/fig Mesos集群。 我是菲格和多克的新手。Docker有很多文档,但我发现自己很难理解如何使用fig

这是我目前的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的帮助,我创建了一个基于docker的mesos设置(storm、chronos和更多)

享受,如果您觉得这很有用,请提供:


注:请+1马克的回答:)

您没有指出您遇到的错误

这是您正在使用的图像的文档:

Mesos基地Docker使用来自 . 不要启动Mesos,请使用 mesos主站和mesos从站码头工人

这些图片真正让我担心的是它们不可信,而且没有立即可用的来源

因此,我以中间层github为灵感重新创建了您的示例:

更新示例 示例更新为包含chronos框架

├── build.sh
├── fig.yml
├── mesos
│   └── Dockerfile
├── mesos-chronos
│   └── Dockerfile
├── mesos-master
│   └── Dockerfile
└── mesos-slave
    └── Dockerfile
构建基本映像(只需执行一次)

运行图以启动每个服务的实例:

$ fig up -d
Creating mesos_zk_1...
Creating mesos_master_1...
Creating mesos_slave_1...
Creating mesos_chronos_1...
fig的一个有用之处是,您可以放大从属对象

$ 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
图yml 注:

  • 此示例只需要zookeeper的一个实例
build.sh mesos/Dockerfile 来自ubuntu:14.04的

维修员马克·奥康纳
运行echo“debhttp://repos.mesosphere.io/ubuntu/ trusty main“>/etc/apt/sources.list.d/mesophere.list
运行apt key adv--keyserver keyserver.ubuntu.com--recv e5651BF
运行apt get-y更新
运行apt get-y安装mesos marathon chronos
mesos master/Dockerfile 来自mesos的

维修员马克·奥康纳
曝光5050
CMD[“--zk=zk://zookeeper:2181/mesos”、“--work\u dir=/var/lib/mesos”、“--quorum=1”]
入口点[“mesos master”]
mesos从/Dockerfile 来自mesos的

维修员马克·奥康纳
CMD[“--master=zk://zookeeper:2181/mesos”]
入口点[“mesos从站”]
mesos chronos/Dockerfile 来自mesos的

维修员马克·奥康纳
运行echo“zk://zookeeper:2181/mesos”>/etc/mesos/zk
暴露4400
CMD[“chronos”]
注:

  • “chronos”命令行是使用文件配置的
伙计,你真厉害!你不仅解决了我的问题,还教会了我今后如何处理类似的问题。谢谢问题:1)我想与其他人分享,你想要荣誉还是我?2) 此设置是否包括zookeeper?3) 您如何部署框架(storm、marathon)?顺便说一句)我看到mesosphere/docker容器现在(截至昨天)有mesos master和mesos slave。@JRun我仍在学习mesos,所以有一点有趣的想法。回答你的问题:1)Stackoverflow就是帮助别人。承认是我们所需要的。2) 我还没有使用zookeeper尝试过这个例子。不完全确定它是否值得,除非您计划让容器在多个主机上运行(有趣的想法)3)在这个设置之上运行框架应该不会太难。中间层github有一些我没有尝试过的例子。我假设它们用于测试Mesos及其框架。好吧,问题是:我想在Mesos上运行chronos作为fwk。1) 克洛诺斯需要动物园管理员。2) 我不知道如何让chronos作为fig.yml的一部分运行。我不确定这是否微不足道——我只是花了一整天的时间。如果您可以尝试解决这个问题,请对此表示感谢(没有框架,mesos是非常无用的)。10x@JRun示例修改为包括zookeeper和chronos。你欠我一杯啤酒:-)我在github创建了一个项目,并添加了对ApacheStorm的支持。如果您能继续为此项目做出贡献,那就太好了:。希望其他人也能从中受益。
http://localhost:14400
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"
docker build --rm=true --tag=mesos mesos
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
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"]
FROM mesos
MAINTAINER Mark O'Connor <mark@myspotontheweb.com>

CMD ["--master=zk://zookeeper:2181/mesos"]

ENTRYPOINT ["mesos-slave"]
FROM mesos
MAINTAINER Mark O'Connor <mark@myspotontheweb.com>

RUN echo "zk://zookeeper:2181/mesos" > /etc/mesos/zk

EXPOSE 4400

CMD ["chronos"]