RESOURCE MANAGER FOR DISTRIBUTED SYSTEMS
What is Majordodo?
Majordodo is a replicated Resource Manager designed to build multi-tenant distributed processing systems. It can be imagined as a distributed thread-pool where tasks are sent by users and a network of “brokers” schedules their execution on a broad range of machines, managing errors, priorities, resources and task recovery.
The tasks are implemented in Java and can be assigned and monitored by using a simple HTTP REST JSON API interface.
Majordodo manages every user’s resources and guarantees data isolation and impartial scheduling. Execution is dynamic and considers the priorities of single tasks. The priorities of single tasks can be modified rapidly, including tasks that have already been scheduled.
Majordodo is based on Apache Zookeeper and Apache Bookkeeper to build a replicated, shared nothing architecture without single points of failure. The nodes can be performed on commodity-hardware, virtual machines, dynamic systems or cloud systems that can suffer malfunction at any time without, however, interrupting the service.
Majordodo is designed to manage tasks for thousands of systems. It is easy both to add and remove systems and resources as a result of dynamic configurations and adaptive schedulers.