A Distributed Resource Manager

What is Majordodo?

Majordodo is a replicated service to build complex multi-tenant computing grids.
You can view it as a distributed threadpool where tasks are submitted by users and a network of brokers schedules execution on a large set of machines, caring about failures, recovery and priority-based resources assignment.
Tasks are implemented in Java and can be submitted and monitored using a simple HTTP REST JSON API.


Majordodo manages resources for each tenant and guarantees resource access isolation and fair scheduling. Users' execution priorities are dynamic and can be modified at runtime for each and every task, even ones that have already been submitted to the scheduler.


Majordodo leverages Apache Zookeeper and Apache Bookkeeper to build a fully replicated, shared-nothing, broker architecture without any single point of failure. Workers can be run on commodity-hardware, virtual machines or dynamically provisioned cloud resources which may fail at any time without service interruption.


Majordodo is designed to manage tasks for thousands of hosts. It is simple to add and remove hosts and resources with dynamic reconfiguration and adaptive tasks scheduling.

Change log


05/09/2016 - Release notes
Majordodo 0.6.0 introduces Custom Resources


07/07/2016 - Release notes
Majordodo 0.5.0 is a bugfix release


14/06/2016 - Release notes
Majordodo 0.4.0 update BookKeeper to 4.4.0


12/02/2016 - Release notes
Majordodo 0.3.0 is a bugfix release


21/12/2015 - Release notes
Majordodo 0.2.0 introduces new utility class TaskSubmitter to serialize executors code


03/11/2015 - Release notes
Majordodo 0.1.0, first public release