Enable RM HA and use FairScheduler, yarn.scheduler.fair.allow-undeclared-pools is set to false, yarn.scheduler.fair.user-as-default-queue is set to false.
1. Start two RMs.
2. After RMs are running, change both RM's file etc/hadoop/fair-scheduler.xml, then add some queues.
3. Submit some apps to the new added queues.
4. Stop the active RM, then the standby RM will transit to active and recover apps.
However the new active RM will put recovered apps into default queue because it might have not loaded the new fair-scheduler.xml. We need call initScheduler before start active services or bring refreshAll() in front of rm.transitionToActive(). It seems it is also important for other scheduler.