一尘不染

设置docker / figs Mesos环境

docker

我正在尝试建立一个docker / fig
Mesos集群。我是无花果和Docker的新手。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等)。

尽情享受,如果您觉得这有用-请贡献:https :
//github.com/yaronr/docker-mesos

PS。请+1马克的答案:)


阅读 256

收藏
2020-06-17

共1个答案

一尘不染

您尚未指出遇到的错误。

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

Mesos使用来自https://mesosphere.io/downloads/的Mesosphere软件包来基于Docker
。不启动Mesos,请使用mesos-master和mesos-slave Dockers。

我真正担心这些图像的是它们是不受信任的,并且没有即时可用的资源。

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

更新示例

更新示例以包括chronos框架

├── build.sh
├── fig.yml
├── mesos
│   └── Dockerfile
├── mesos-chronos
│   └── Dockerfile
├── mesos-master
│   └── Dockerfile
└── mesos-slave
    └── Dockerfile

构建基础映像(只需执行一次)

./build.sh

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

$ 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

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-master / 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-slave / Dockerfile

FROM mesos
MAINTAINER Mark O'Connor <mark@myspotontheweb.com>

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

ENTRYPOINT ["mesos-slave"]

mesos-chronos / Dockerfile

FROM mesos
MAINTAINER Mark O'Connor <mark@myspotontheweb.com>

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

EXPOSE 4400

CMD ["chronos"]

笔记:

  • 使用文件来配置“ chronos”命令行。
2020-06-17