If we set rule specified
in queuePlacementPolicy
, then the user can submit job to any queue.
<queuePlacementPolicy>
<rule name="specified" create="false"/>
</queuePlacementPolicy>
If a user has 2 queues, one for on line jobs and one for test jobs. Take user bi as an example. “bi” has two queue, “bi_online” and “bi_test”, we want the two queues accept the jobs from user bi and reject else.
Put all queues in queue root and add aclSubmitApps and aclAdministerApps to the root queue, then the setting take effect.
aclSubmitApps
has two parts, separated by a whitespace, the former part is user list, and the latter part is group list.
<aclSubmitApps>user1,user2,user3,... group1,group2,...</aclSubmitApps>
<?xml version="1.0"?>
<allocations>
<queue name="root">
<aclSubmitApps>nobody nobody</aclSubmitApps>
<aclAdministerApps>nobody nobody</aclAdministerApps>
<queue name="default">
<weight>2.0</weight>
<schedulingPolicy>fifo</schedulingPolicy>
<aclSubmitApps>nobody nobody</aclSubmitApps>
<aclAdministerApps>nobody nobody</aclAdministerApps>
<!-- <maxResources>1 mb,1vcores</maxResources>-->
</queue>
<queue name="houzhizhen">
<weight>2.0</weight>
<schedulingPolicy>fifo</schedulingPolicy>
<aclSubmitApps>hadoop hadoop</aclSubmitApps>
<aclAdministerApps>hadoop hadoop</aclAdministerApps>
<!-- <maxResources>830208 mb,750vcores</maxResources>-->
</queue>
<queue name="bi">
<weight>2.0</weight>
<schedulingPolicy>fifo</schedulingPolicy>
<aclSubmitApps>houzhizhen root</aclSubmitApps>
<aclAdministerApps>houzhizhen root</aclAdministerApps>
<!-- <maxResources>830208 mb,750vcores</maxResources>-->
</queue>
</queue>
<userMaxAppsDefault>100</userMaxAppsDefault>
<fairSharePreemptionTimeout>30</fairSharePreemptionTimeout>
<queuePlacementPolicy>
<rule name="specified" create="false"/>
<rule name="reject"/>
</queuePlacementPolicy>
</allocations>