• Stars
    star
    4,388
  • Rank 9,768 (Top 0.2 %)
  • Language
    Scala
  • License
    Apache License 2.0
  • Created almost 12 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Fault tolerant job scheduler for Mesos which handles dependencies and ISO8601 based schedules

Chronos Build Status

Chronos is a replacement for cron. It is a distributed and fault-tolerant scheduler that runs on top of Apache Mesos that can be used for job orchestration. It supports custom Mesos executors as well as the default command executor. Thus by default, Chronos executes sh (on most systems bash) scripts.

Chronos can be used to interact with systems such as Hadoop (incl. EMR), even if the Mesos agents on which execution happens do not have Hadoop installed. Included wrapper scripts allow transfering files and executing them on a remote machine in the background and using asynchronous callbacks to notify Chronos of job completion or failures. Chronos is also natively able to schedule jobs that run inside Docker containers.

Chronos has a number of advantages over regular cron. It allows you to schedule your jobs using ISO8601 repeating interval notation, which enables more flexibility in job scheduling. Chronos also supports the definition of jobs triggered by the completion of other jobs. It supports arbitrarily long dependency chains.

The easiest way to use Chronos is to use DC/OS and install chronos via the universe.

Features

  • Web UI
  • ISO8601 Repeating Interval Notation
  • Handles dependencies
  • Job Stats (e.g. 50th, 75th, 95th and 99th percentile timing, failure/success)
  • Job History (e.g. job duration, start time, end time, failure/success)
  • Fault Tolerance (leader/follower)
  • Configurable Retries
  • Multiple Workers (i.e. Mesos agents)
  • Native Docker support

Documentation and Support

Chronos documentation is available on the Chronos GitHub pages site.

Documentation for installing and configuring the full Mesosphere stack including Mesos and Chronos is available on the Mesosphere website.

For questions and discussions around Chronos, please use the Google Group "chronos-scheduler": Chronos Scheduler Group.

If you'd like to take part in design research and test new features in Chronos before they're released, please add your name to Mesosphere's UX Research list.

Packaging

Mesosphere publishes Docker images for Chronos to Dockerhub, at https://hub.docker.com/r/mesosphere/chronos/.

Contributing

Instructions on how to contribute to Chronos are available on the Contributing docs page.

License

The use and distribution terms for this software are covered by the Apache 2.0 License (http://www.apache.org/licenses/LICENSE-2.0.html) which can be found in the file LICENSE at the root of this distribution. By using this software in any fashion, you are agreeing to be bound by the terms of this license. You must not remove this notice, or any other, from this software.

Contributors

Reporting Bugs

Please see the support page for information on how to report bugs.

More Repositories

1

spark

Lightning-fast cluster computing in Java, Scala and Python.
Scala
1,426
star
2

mesos-go

Go language bindings for Apache Mesos
Go
543
star
3

mesos

PLEASE NOTE: Mesos is now hosted in Apache git! Get it using git clone https://git-wip-us.apache.org/repos/asf/mesos.git
C++
417
star
4

kafka

Apache Kafka on Apache Mesos
Scala
415
star
5

elasticsearch

Elasticsearch on Mesos
Java
242
star
6

hadoop

Hadoop on Mesos
Java
176
star
7

storm

Storm on Mesos!
Java
138
star
8

mr-redis

Redis on Apache Mesos
Go
127
star
9

cloudfoundry-mesos

Cloud Foundry on Mesos Framework
Go
107
star
10

mesos_exporter

Prometheus Mesos Exporter
Go
104
star
11

logstash

Logstash on Mesos
Java
67
star
12

docker-compose-executor

DEPRECATED: Find the new docker compose executor here https://github.com/paypal/dce-go
Java
56
star
13

kibana

Kibana on Mesos
Shell
27
star
14

mesos-distcc

Distcc framework for Mesos.
Python
27
star
15

modules

Mesos modules examples and open source modules outside of the Apache Mesos source tree.
C++
26
star
16

cdh-mesos

Patched version of Cloudera's Distribution of Hadoop with Mesos support
Java
13
star
17

mih

Mesos-in-Hadoop: allows launching a Mesos cluster as a Hadoop job
Java
9
star
18

go-proto

Mesos protobuf bindings for Go.
Go
5
star
19

llvm

Mesos LLVM tools
Dockerfile
4
star
20

mesos-packaging

Packaging for Apache Mesos.
Shell
3
star
21

3rdparty

Collection of the 3rdparty dependencies bundled into Mesos.
3
star
22

homebrew-llvm

[DECPRECATED, USE https://github.com/mesos/llvm INSTEAD] Mesos LLVM tools for OS X
Ruby
1
star
23

mesos-rxjava

RxJava client for Apache Mesos HTTP APIs
Java
1
star