Configuring preemption
Preemption allows applications of higher priority to preempt applications of lower priority.
A scenario can occur where a queue has a guaranteed level of cluster resources, but must wait to run applications because other queues are utilizing all of the available resources. If preemption is enabled for a particular queue, applications of higher priority do not have to wait because applications of lower priority have taken up the available capacity. When you enable Preemption (yarn.resourcemanager.scheduler.monitor.enable) the allocated cluster resources are taken from the preemption enabled queue utilizing more than their guaranteed capacity and served to the underserved queues immediately, without having to wait for other queues' applications to finish running.
You can use Priority Scheduling to run YARN applications at a higher priority, regardless of other applications that are already running in the cluster . For more information, see Setting global maximum application priority.
To configure the Queue Preemption options on all queues, perform the following: