Capacity Scheduler is designed to run Hadoop jobs in a shared, multi-tenant cluster in a friendly manner. Its main strength is that it guarantees specific capacity for a certain group of users by supporting multiple queues and allowing users to submit their queries into their dedicated queues.

Each queue is given a fraction of total cluster capacity — both RAM and CPU — ensuring that no single group monopolises resources. This makes Capacity Scheduler a practical choice for organisations where multiple teams or departments share the same Hadoop infrastructure.

How Queue Priority Works

Queue priority in the Capacity Scheduler is not a simple numeric ranking. Instead, it is implemented by assigning higher or lower capacity percentages to queues. A queue with a larger guaranteed capacity effectively receives higher priority when the cluster is under contention.

Administrators can also set a maximum percentage of cluster resources that each queue may consume. This cap prevents a high-priority queue from starving others even when demand spikes. Together, the guaranteed minimum and the configurable maximum create a balanced, predictable scheduling environment across the cluster.

Key Takeaways

  • Capacity Scheduler guarantees specific capacity for groups of users via dedicated queues.
  • Queue priority is expressed through capacity allocation — higher capacity means higher effective priority.
  • Maximum resource percentages can be set per queue to prevent resource starvation.
  • The scheduler is well-suited for multi-tenant Hadoop clusters where fairness and predictability matter.