[
https://issues.apache.org/jira/browse/YARN-2986?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Wangda Tan updated YARN-2986:
-----------------------------
Attachment: YARN-2986.1.patch
Uploaded a WIP patch, which consists:
1) Implementation of hierarchy CS configuration:
- Basic xml parser utilities
- Base implementation of scheduler hierarchy configuration (can by reused by
Fair and other schedulers)
- Capacity Scheduler configuration implementation (*)
(*) Capacity Scheduler configuration implementation:
- Since we need to maintain two different configuration style (plain &
hierarchy), so we need an abstraction layer to make Capacity Scheduler less
impacted. So now:
- CapacitySchedulerConfiguration becomes an interface, with all getter/setter
needed
- The original CapacitySchedulerConfiguration is renamed CSPlainConfiguration,
implements CapacitySchedulerConfiguration
- The new hierarchy configuration is named CSHierarchyConfiguration
2) Changes in Capacity Scheduler to use the new interface --
CapacitySchedulerConfiguration
- This is half way done, now calling CapacitySchedulerContext.getConfiguration
will return the interface class.
- Other part of CapacityScheduler class is still using CSPlainConfiguration
For 2), pending works:
- Add smart detectation code choose to read configuration file
- Eleminate directly using CSPlainConfiguration, this is blocked by an issue in
existing CapacityScheduler implementation:
In existing CS implementation, CapacitySchedulerConfiguration will
automatically includes "yarn-site.xml", which is not correct, we need limit
CapacitySchedulerConfiguration only use "capacity-scheduler.xml".
- Add more tests to make sure CS will work under both configuration file style.
Now config file style
{code}
<scheduler>
<globals>
<global-var1>value</global-var1>
<global-var2>value</global-var2>
<global-var3>value</global-var3>
</globals>
<queues>
<queue name="a">
<queue-var1>value</queue-var1>
<queue-var2>value</queue-var2>
<queues>
<queue name="a1">
</queue>
<queue name="a2">
</queue>
</queue>
</queues>
</scheduler>
{code}
Suggestion of moving forward:
I suggest to commit existing patch *if we agree with config style and verified
changes to CS is safe*. And we can address pending works in following ticket,
now the patch is already huge, I'm afraid putting all things together may make
harder patch review.
> Support hierarchical and unified scheduler configuration
> --------------------------------------------------------
>
> Key: YARN-2986
> URL: https://issues.apache.org/jira/browse/YARN-2986
> Project: Hadoop YARN
> Issue Type: Improvement
> Reporter: Vinod Kumar Vavilapalli
> Assignee: Wangda Tan
> Attachments: YARN-2986.1.patch
>
>
> Today's scheduler configuration is fragmented and non-intuitive, and needs to
> be improved. Details in comments.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)