2
votes

I have set up Mesos Cluster including Marathon & Chronos using Docker image for each service.

Docker images I am using are as follows;

ZooKeeper is running on port 2181, Mesos Master on 5050, Mesos Slave on 5051, marathon on 8088, and Chronos on 8080.

What I want to do is; Run Docker container on Marathon & Chronos.

Marathon successfully runs Docker containers as its Apps.

But Chronos doesn't runs any Jobs. Even if the Job is not with Docker.

Config for Chronos Job I tried to launch is;

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

Jobs are registered on Chronos but never be launched. enter image description here

My command for running Chronos container is as follows;

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
1
Can you share your working Marathon application configuration?ssk2
Also worth double checking that Chronos is registered correctly with Mesos. Does it show up on the frameworks page of the Mesos UI?ssk2
Have you tried the Mesosphere Chronos Docker image? registry.hub.docker.com/u/mesosphere/chronosssk2

1 Answers

4
votes

Change --zk_hosts zk://<master-hostname>:2181/mesos in your Chronos command-line to --zk_hosts <master-hostname>:2181, since this is supposed to be a list of zk node:port pairs, so that Chronos can store its own state in a /chronos znode (as opposed to the /mesos znode, where Mesos stores its leading master info).