[ 
https://issues.apache.org/jira/browse/YARN-1228?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sandy Ryza updated YARN-1228:
-----------------------------

    Description: 
Currently the Fair Scheduler is configured in two ways
* An allocations file that has a different format than the standard Hadoop 
configuration file, which makes it easier to specify hierarchical objects like 
queues and their properties. 
* With properties like yarn.scheduler.fair.max.assign that are specified in the 
standard Hadoop configuration format.

The standard and default way of configuring it is to use fair-scheduler.xml as 
the allocations file and to put the yarn.scheduler properties in yarn-site.xml.

It is also possible to specify a different file as the allocations file, and to 
place the yarn.scheduler properties in fair-scheduler.xml, which will be 
interpreted as in the standard Hadoop configuration format.  This flexibility 
is both confusing and unnecessary.

Additionally, the allocation file is loaded as fair-scheduler.xml from the 
classpath if it is not specified, but is loaded as a File if it is.  This 
causes two problems
1. We see different behavior when not setting the 
yarn.scheduler.fair.allocation.file, and setting it to fair-scheduler.xml, 
which is its default.
2. Classloaders may choose to cache resources, which can break the reload logic 
when yarn.scheduler.fair.allocation.file is not specified.

We should never allow the yarn.scheduler properties to go into 
fair-scheduler.xml.  And we should always load the allocations file as a file, 
not as a resource on the classpath.  To preserve existing behavior and allow 
loading files from the classpath, we can look for files on the classpath, but 
strip of their scheme and interpret them as Files.


  was:
Currently the Fair Scheduler is configured in two ways
* An allocations file that has a different format than the standard Hadoop 
configuration file, which makes it easier to specify hierarchical objects like 
queues and their properties. 
* With properties like yarn.scheduler.fair.max.assign that are specified in the 
standard Hadoop configuration format.

The standard and default way of configuring it is to use fair-scheduler.xml as 
the allocations file and to put the yarn.scheduler properties in yarn-site.xml.

It is also possible to specify a different file as the allocations file, and to 
place the yarn.scheduler properties in fair-scheduler.xml, which will be 
interpreted as in the standard Hadoop configuration format.  This flexibility 
is both confusing and unnecessary.  There's no need to keep around the second 
way.


    
> Clean up Fair Scheduler configuration loading
> ---------------------------------------------
>
>                 Key: YARN-1228
>                 URL: https://issues.apache.org/jira/browse/YARN-1228
>             Project: Hadoop YARN
>          Issue Type: Improvement
>          Components: scheduler
>    Affects Versions: 2.1.1-beta
>            Reporter: Sandy Ryza
>
> Currently the Fair Scheduler is configured in two ways
> * An allocations file that has a different format than the standard Hadoop 
> configuration file, which makes it easier to specify hierarchical objects 
> like queues and their properties. 
> * With properties like yarn.scheduler.fair.max.assign that are specified in 
> the standard Hadoop configuration format.
> The standard and default way of configuring it is to use fair-scheduler.xml 
> as the allocations file and to put the yarn.scheduler properties in 
> yarn-site.xml.
> It is also possible to specify a different file as the allocations file, and 
> to place the yarn.scheduler properties in fair-scheduler.xml, which will be 
> interpreted as in the standard Hadoop configuration format.  This flexibility 
> is both confusing and unnecessary.
> Additionally, the allocation file is loaded as fair-scheduler.xml from the 
> classpath if it is not specified, but is loaded as a File if it is.  This 
> causes two problems
> 1. We see different behavior when not setting the 
> yarn.scheduler.fair.allocation.file, and setting it to fair-scheduler.xml, 
> which is its default.
> 2. Classloaders may choose to cache resources, which can break the reload 
> logic when yarn.scheduler.fair.allocation.file is not specified.
> We should never allow the yarn.scheduler properties to go into 
> fair-scheduler.xml.  And we should always load the allocations file as a 
> file, not as a resource on the classpath.  To preserve existing behavior and 
> allow loading files from the classpath, we can look for files on the 
> classpath, but strip of their scheme and interpret them as Files.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to