2

我已经为每个服务使用 Docker 映像设置了 Mesos 集群,包括 Marathon 和 Chronos。

我使用的 Docker 镜像如下;

ZooKeeper 在 2181 端口上运行,Mesos Master 在 5050 上运行,Mesos Slave 在 5051 上运行,marathon 在 8088 上运行,Chronos 在 8080 上运行。

我想做的是;在 Marathon & Chronos 上运行 Docker 容器。

Marathon 成功地将 Docker 容器作为其应用程序运行。

Chronos 不运行任何作业。即使 Job 不在 Docker 中。

我尝试启动的 Chronos Job 的配置是;

{
    "schedule": "R/2015-05-28T10:16:30Z/PT2M",
    "name": "simplejob",
    "cpus": "0.5",
    "mem": "512",
    "command": "while sleep 10; do date -u %T; done"
}

作业在 Chronos 上注册,但从未启动。 在此处输入图像描述

我运行 Chronos 容器的命令如下;

docker run -p 8080:8080 -e LIBPROCESS_PORT=5050 tomaskral/chronos:2.3.0-mesos0.21.0 --http_port 8080 --master zk://<master-hostname>:2181/mesos --zk_hosts zk://<master-hostname>:2181/mesos
4

1 回答 1

4

--zk_hosts zk://<master-hostname>:2181/mesos将您的 Chronos 命令行更改为--zk_hosts <master-hostname>:2181,因为这应该是 zk 节点:端口对的列表,因此 Chronos 可以将其自己的状态存储在/chronosznode 中(与/mesosznode 相反,Mesos 存储其主要主信息) .

于 2015-06-30T08:54:31.957 回答