Fair Scheduler features and conversion details
Certain Fair Scheduler properties cannot be auto-converted by the fs2cs conversion utility. Review the list of these properties and if they are supported in Capacity Scheduler and by Queue Manager UI to learn how you can configure them.
Migrating to CDP Private Cloud Base 7.1.6 or higher
Property | Description | Conversion information |
---|---|---|
<minResources> |
Minimum resources the queue is entitled to. |
Partially supported in Capacity Scheduler. Ignored by the fs2cs conversion utility. Not supported by Queue Manager UI. |
<maxResources> |
Maximum amount of resources that will be allocated to a queue. |
There is an equivalent feature in Capacity Scheduler. Ignored by the fs2cs conversion utility. For each queue, max-capacity will be set to 100%. Supported by Queue Manager UI. For more information, see Set user limits within a queue. |
<maxChildResources> |
Maximum amount of resources that can be allocated to an ad hoc child queue. |
There is an equivalent feature in Capacity Scheduler. Ignored by the fs2cs conversion utility. Its value can be two distinct percentages (vcore/memory) or an absolute resources, but the leaf-queue-template only accepts a single percentage. Supported by Queue Manager UI. |
Property | Description | Conversion information |
---|---|---|
yarn.scheduler.fair.max.assign |
Dynamic maximum assign |
There is an equivalent feature in Capacity Scheduler. Fine-tuning of the following three properties are required:
Not supported by Queue Manager UI. |
yarn.scheduler.fair.user-as-default-queue |
User as default queue |
Relative mode:A placement rule needs to be created.
The following limitations apply:
For information about weight mode see Auto-converted Fair Scheduler properties. Supported by Queue Manager UI. |
Property | Description | Conversion information |
---|---|---|
yarn.scheduler.fair.preemption.cluster-utilization-threshold |
The utilization threshold after which preemption kicks in. |
There is an equivalent feature in Capacity Scheduler:
Supported by Queue Manager UI. |
minSharePreemptionTimeout |
The number of seconds the queue is under its minimum share before it will try to preempt containers to take resources from other queue.s |
Not supported in Capacity Scheduler. |
fairSharePreemptionTimeout |
The number of seconds the queue is under its fair share threshold before it will try to preempt containers to take resources from other queues. |
Partially supported in Capacity Scheduler. This can be achieved by using the following configurations together:
Supported by Queue Manager UI. |
fairSharePreemptionThreshold |
The fair share preemption threshold for the queue. |
Partially supported in Capacity Scheduler. This can be achieved by using the following configurations together:
Supported by Queue Manager UI. |
Fair Scheduler placement rules | Description | Conversion information |
---|---|---|
create="false" or "true" |
Disable or enable creating a queue dynamically in YARN. This option can be specified on all rules. |
Partially supported in Capacity Scheduler. Use the Capacity Scheduler Dynamic Queue Mappings policies:
Supported by Queue Manager UI. |
<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. |
Not supported in Capacity Scheduler. |
<rule name="primaryGroupExistingQueue"/> |
If submitted user’s(userA) primary group name (groupA) exists, submit to groupA. |
There is an equivalent placement rule in Capacity Scheduler:
Supported by Queue Manager UI. |
<rule name="secondaryGroupExistingQueue"/> |
If submitted user’s(userA) secondary group name (groupA) exists, submit to groupA. |
There is an equivalent placement rule in Capacity Scheduler:
Supported by Queue Manager UI. |
<rule name="nestedUserQueue"> |
Depending on the nested rule, this places the job to the following queues:
|
Not supported in Capacity Scheduler. |
<rule name="default" queue=”qName”/> |
Fall back policy by which rule will fall back to queue named in the property ‘queue’ or the “default“ queue if no queue property is specified (if all matches fail). |
There is an equivalent placement rule in Capacity Scheduler:
Supported by Queue Manager UI. |
Migrating to CDP Private Cloud Base 7.1.5 or lower
Property | Description | Conversion information |
---|---|---|
<minResources> |
Minimum resources the queue is entitled to. |
Partially supported in Capacity Scheduler. Ignored by the fs2cs conversion utility. Not supported by Queue Manager UI. |
<maxResources> |
Maximum amount of resources that will be allocated to a queue. |
There is an equivalent feature in Capacity Scheduler. Ignored by the fs2cs conversion utility. For each queue, max-capacity will be set to 100%. Supported by Queue Manager UI. |
<maxChildResources> |
Maximum amount of resources that can be allocated to an ad hoc child queue. |
There is an equivalent feature in Capacity Scheduler. Ignored by the fs2cs conversion utility. Its value can be two distinct percentages (vcore/memory) or an absolute resources, but the leaf-queue-template only accepts a single percentage. Supported by Queue Manager UI. |
<schedulingPolicy> |
Scheduling policy of a queue (for example, how submitted applications should be ordered over time). . |
There is an equivalent feature in Capacity Scheduler. Manual fine tuning might be necessary.
Supported by Queue Manager UI. |
Property | Description | Conversion information |
---|---|---|
<user name="...">
<maxRunningApps>...</maxRunningApps></user> |
Maximum running apps per user |
There is an equivalent feature in Capacity Scheduler. Fine-tuning of the following three properties are required:
Supported by Queue Manager UI. For more information about user limits, see Set user limits within a queue. |
<userMaxAppsDefault> |
Default maximum running apps |
Not supported in Capacity Scheduler. |
yarn.scheduler.fair.max.assign |
Dynamic maximum assign |
There is an equivalent feature in Capacity Scheduler. Fine-tuning of the following three properties are required:
Supported by Queue Manager UI. |
yarn.scheduler.fair.user-as-default-queue |
User as default queue |
There is a very similar feature in Capacity Scheduler. Perform the following
steps:
The following restrictions apply:
For more information, see the Placement Rules table. Supported by Queue Manager UI. |
Property | Description | Conversion information |
---|---|---|
yarn.scheduler.fair.preemption.cluster-utilization-threshold |
The utilization threshold after which preemption kicks in. |
There is an equivalent feature in Capacity Scheduler:
Supported by Queue Manager UI. |
minSharePreemptionTimeout |
The number of seconds the queue is under its minimum share before it will try to preempt containers to take resources from other queue.s |
Not supported in Capacity Scheduler. |
fairSharePreemptionTimeout |
The number of seconds the queue is under its fair share threshold before it will try to preempt containers to take resources from other queues. |
Partially supported in Capacity Scheduler. This can be achieved by using the following configurations together:
Supported by Queue Manager UI. |
fairSharePreemptionThreshold |
The fair share preemption threshold for the queue. |
Partially supported in Capacity Scheduler. This can be achieved by using the following configurations together:
Supported by Queue Manager UI. |
Fair Scheduler placement rules | Description | Conversion information |
---|---|---|
create="false" or "true" |
Disable or enable creating a queue dynamically in YARN. This option can be specified on all rules. |
Partially supported in Capacity Scheduler. Use the Capacity Scheduler Dynamic Queue Mappings policies:
Supported by Queue Manager UI. |
<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. |
Not supported in Capacity Scheduler. |
<rule name="primaryGroupExistingQueue"/> |
If submitted user’s(userA) primary group name (groupA) exists, submit to groupA. |
There is an equivalent placement rule in Capacity Scheduler:
Supported by Queue Manager UI. |
<rule name="secondaryGroupExistingQueue"/> |
If submitted user’s(userA) secondary group name (groupA) exists, submit to groupA. |
There is an equivalent placement rule in Capacity Scheduler:
Supported by Queue Manager UI. |
<rule name="nestedUserQueue"> |
If submitted the embedded rule, all rules are allowed except for the reject rule, is executed to generate a parent queue and the user’s (userA) name is created as a child of the parent. |
Not supported in Capacity Scheduler. |
<rule name="default" queue=”qName”/> |
Fall back policy by which rule will fall back to queue named in the property ‘queue’ or the “default“ queue if no queue property is specified (if all matches fail). |
There is an equivalent placement rule in Capacity Scheduler:
Supported by Queue Manager UI. |