Feature comparison
The features of both schedulers have become similar over time. The current feature list and differences between the two schedulers is listed in the tables.
Supported Features
| Feature List | Capacity Scheduler | Fair Scheduler | Comments | |
| Queues | Hierarchical Queues | yes | yes | |
| Elastic Queue Capacity for better resource sharing | yes | yes | ||
| Percentage Based Resource Configuration in Queues | yes | yes | Percentages and absolute resources settings cannot be used simultaneous. | |
| Auto Queue Creation | yes | yes | ||
| User Mapping (user/group to queue mapping) | yes | yes | ||
| CLI/REST API support to manage queues | yes | yes | ||
| Move applications between queues | yes | yes | ||
| Dynamic Queue creation/deletion/modification | yes | yes | ||
| Reservation support in queues | yes | yes | ||
| Authorization | Authorization control (ACLs in Queues for submit/manage/admin) | yes | yes | |
| Third party ACL control (Ranger) | yes | yes | ||
| Application Placement | Node Labels support | yes | no | |
| Hive placement integration | yes | yes | ||
| Node Attributes support | yes | no | ||
| Placement constraints support | yes | no | Supported constraints are limited in the current implementation. | |
| Node Locality | yes | yes | ||
| Locality Delay control | yes | yes | ||
| User limit quota management | yes | yes | ||
| AM resource quota management | yes | yes | ||
| Queue Priority | yes | no | Indirectly managed through queue weights. | |
| Maximum and Minimum allocation limit per container unit | yes | yes | ||
| Scheduling | Asynchronous scheduling support | yes | yes | Implementation differs between the schedulers and should not be treated as equivalent. |
| Multiple resource types support (CPU, Memory, GPU, and so on) | yes | yes | ||
| Queue Ordering Policies (Fair, FIFO, and so on) | yes | yes | ||
| Multiple container assignments per heartbeat | yes | yes | ||
| Preemption | Inter Queue preemption support | yes | yes | |
| Intra Queue preemption support | yes | yes | ||
| Reservation based preemption | yes | yes | ||
| Queue Priority based preemption | yes | no | Queue weights are taken into account when preempting decisions are made. | |
|
Application Support |
First class Concept of application | yes | yes | |
| Application priority | yes | yes | ||
| Application timeout | yes | yes | ||
| Moving Application across queues | yes | yes | ||
| High Availability stateful application recovery | yes | yes | ||
Roadmap Features
| Feature List | Capacity Scheduler | Fair Scheduler | Comments | |
| Queues | Absolute Resource Configuration in Queues | yes | yes | Percentages and absolute resources settings cannot be usedsimultaneously. |
| Application Placement | Maximum number of applications | no | yes | Indirectly managed through AM resource quotas. |
| Scheduling | Application Size Based Fairness | no | yes | |
