Auto-converted Fair Scheduler properties
The fs2cs conversion utility automatically converts certain Fair Scheduler properties into Capacity Scheduler properties. Reviewing the list of auto-converted properties enables you to verify the conversion and plan the manual fine-tuning that requires to be done after the upgrade is completed.
Property | Description |
---|---|
Pre-created hierarchical queues. |
The same queue hierarchy is achieved after conversion. |
<weight> |
Weight: The steady fair share of a queue. The |
<maxAMShare> |
Maximum AM share: Limits the fraction of the queue’s fair share that can be used to run application masters |
<maxRunningApps> |
Maximum running apps: Limits the number of apps from the queue to run at once |
<maxContainerAllocation> |
Maximum container allocation: Maximum amount of resources a queue can allocate for a single container. |
<schedulingPolicy> |
Scheduling policy of a queue (for example, how submitted applications are ordered over time). It is converted with some limitations. For more information, see Fair Scheduler features and the conversion details. |
<aclSubmitApps> <aclAdministerApps> |
ACL settings: List of users and/or groups that can submit apps to the queue or can administer a queue. |
maximum-am-resource-percent |
Specifies the maximum percentage of resources in the cluster which can be used to run application masters for the queue. |
acl_submit_applications |
Specifies the ACL which controls who can submit applications to the given queue. |
acl_administer_queue |
Specifies the ACL which controls who can administer applications in the given queue. |
ordering-policy |
Specifies the queue ordering policies to FIFO or fair on the given queue. |
Property | Description |
---|---|
yarn.scheduler.fair.allow-undeclared-pools |
Allow undeclared pools. Sets whether new queues can be created at application submission time. |
yarn.scheduler.fair.sizebasedweight |
Size based weight. Whether to assign shares to individual apps based on their size, rather than providing an equal share to all apps regardless of size. |
<queueMaxAppsDefault> |
Queue max apps default: Sets the default running app limit for all queues. |
<queueMaxAMShareDefault> |
Default max AM share: Sets the default AM resource limit for queue. |
yarn.scheduler.fair.locality.threshold.node |
Locality threshold node: For applications that request containers on particular nodes, the number of scheduling opportunities since the last container assignment to wait before accepting a placement on another node. |
yarn.scheduler.fair.locality.threshold.rack |
Locality threshold rack: For applications that request containers on particular racks, the number of scheduling opportunities since the last container assignment to wait before accepting a placement on another rack. |
yarn.scheduler.fair.max.assign |
Maximum assignments: If assignmultiple is true and dynamic.max.assign is false, the maximum amount of containers that can be assigned in one heartbeat. |
yarn.scheduler.fair.assignmultiple |
Assign multiple: Whether to allow multiple container assignments in one heartbeat. |
yarn.resourcemanager.scheduler.monitor.enable |
Allows higher-priority applications to preempt lower-priority applications. |
yarn.scheduler.capacity.maximum-am-resource-percent |
Specifies the maximum percentage of resources in the cluster which can be used to run application masters. |
Property | Description |
---|---|
yarn.scheduler.fair.allow-undeclared-pools |
Allow undeclared pools. Sets whether new queues can be created at application submission time. |
yarn.scheduler.fair.sizebasedweight |
Size based weight. Whether to assign shares to individual apps based on their size, rather than providing an equal share to all apps regardless of size. |
<queueMaxAppsDefault> |
Queue max apps default: Sets the default running app limit for all queues. |
<queueMaxAMShareDefault> |
Default max AM share: Sets the default AM resource limit for queue. |
yarn.scheduler.fair.locality.threshold.node |
Locality threshold node: For applications that request containers on particular nodes, the number of scheduling opportunities since the last container assignment to wait before accepting a placement on another node. |
yarn.scheduler.fair.locality.threshold.rack |
Locality threshold rack: For applications that request containers on particular racks, the number of scheduling opportunities since the last container assignment to wait before accepting a placement on another rack. |
yarn.scheduler.fair.max.assign |
Maximum assignments: If assignmultiple is true and dynamic.max.assign is false, the maximum amount of containers that can be assigned in one heartbeat. |
yarn.scheduler.fair.assignmultiple |
Assign multiple: Whether to allow multiple container assignments in one heartbeat. |
yarn.resourcemanager.scheduler.monitor.enable |
Allows higher-priority applications to preempt lower-priority applications. |
yarn.scheduler.capacity.maximum-am-resource-percent |
Specifies the maximum percentage of resources in the cluster which can be used to run application masters. |
<userMaxAppsDefault> |
Default maximum running applications. |
<user name="...">
<maxRunningApps>...</maxRunningApps></user> |
Maximum running applications per user. |
yarn.scheduler.fair.user-as-default-queue |
Whether to use the username associated with the allocation as the default queue name. Weight mode: This behavior is simulated with a placement rule (in fact, even
in Fair Scheduler, this is translated into a placement rule
internally):
For information about percentage mode, see Fair Scheduler features ad conversion details. |
Property | Description |
---|---|
yarn.scheduler.fair.preemption |
Fair Scheduler preemption turned on. After the conversion capacity Scheduler preemption is turned on by default using the default values. |
<allowPreemptionFrom> |
Per-queue preemption disabled. After the conversion the same queue preemption disabled by default. |
yarn.scheduler.fair.waitTimeBeforeKill |
Wait time before killing a container |
disable_preemption |
Disables preemption of application containers submitted to a given queue. |
Fair Scheduler placement rules | Description | Conversion details |
---|---|---|
create="false" or "true" |
Disable or enable creating a queue dynamically in YARN. This option
cannot be specified on the following placement rule policies:
|
Weight mode: This flag is fully supported, except for nested rules, where you can define a single “create” flag only. Therefore, “true/false” and “false/true” cannot be set. Relative mode: Partially supported. A managed parent queue must be chosen as a parent. The flag has no effect on regular parent queues. |
<rule name="specified"/> |
If a user has submitted the application by specifying a queue name (other than the “default” queue), then this rule will be successful. Hence the remaining set of rules won't be executed. |
Supported in both weight and percentage mode. |
<rule name="primaryGroup"/> |
If the submitted user’s(userA) primary group name (groupA) exists, submit to groupA. |
The matching policy is called |
<rule name="secondaryGroupExistingQueue"/> |
If the submitted user’s(userA) secondary group name (groupB) exists, submit to groupB. |
The matching policy is called |
<rule name="nestedUserQueue"> |
Depending on the nested rule, this places the job to the following queues:
|
Supported by Capacity Scheduler. The three possible policies are (depending on the outer rule):
|
<rule name="default" queue=”qName”/> |
Places the application into the default queue called “root.default” or to a user-specific one denoted by the “queue” attribute. |
The default rule has a matching policy called If “root.default” is not the intended default queue, then two approaches are
possible:
|