Welcome to Two Sigma's Cook Scheduler!
What is Cook?
- Cook is a powerful batch scheduler, specifically designed to provide a great user experience when there are more jobs to run than your cluster has capacity for.
- Cook is able to intelligently preempt jobs to ensure that no user ever needs to wait long to get quick answers, while simultaneously helping you to achieve 90%+ utilization for massive workloads.
- Cook has been battle-hardened to automatically recover after dozens of classes of cluster failures.
- Cook can act as a Spark scheduler, and it comes with a REST API and Java client.
But you'd probably like to run Spark jobs on Cook, right?
To do so, download the latest Cook scheduler here.
You can launch the scheduler for testing by running java -jar cook-release.jar dev-config.edn
(get dev-config.edn
here; read more about configuration in scheduler/docs/configuration.asc
).
Then, go to the spark
subproject, and follow the README to patch Spark to support Cook as a scheduler.
If you'd like to learn more or do something different, read on...
In this repository, you'll find several subprojects, each of which has its own documentation.
scheduler
- This is the actual Mesos framework, Cook. It comes with a JSON REST API.jobclient
- This is the Java API for Cook, which uses the REST API under the hood.spark
- This contains the patch to Spark to enable Cook as a backend.
Please visit the scheduler
subproject first to get started.
In order to accept your code contributions, please fill out the appropriate Contributor License Agreement in the cla
folder and submit it to [email protected].
Apache Mesos is a trademark of The Apache Software Foundation. The Apache Software Foundation is not affiliated, endorsed, connected, sponsored or otherwise associated in any way to Two Sigma, Cook, or this website in any manner.
© Two Sigma Open Source, LLC