[ 
https://issues.apache.org/jira/browse/HADOOP-785?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12521223
 ] 

Sameer Paranjpye commented on HADOOP-785:
-----------------------------------------

+1 for marking a parameter final with attribute

I think we should give more thought to naming. The proposal so far is certainly 
simpler than the current system, but the idea having a single name 
_hadoop-site.xml_ still bothers me. It feels a lot cleaner to have config files 
map to the components they affect. The 'client/server' nomenclature is 
ambiguous, so why not have a scheme that's not. What about having the following 
names for files:
- _hadoop-user.xml_ - this affects the behavior of user code
- _hadoop-mapred.xml_ - this affects the behavior of the map/reduce servers
- _hadoop-dfs.xml_ - this affects the behavior of the HDFS servers

I believe that this would make configuration and administration easier. A few 
advantages that come to mind:
- In order to affect the behavior or examine/debug the configuration of a 
particular part of the system you need only know the name of the file to look 
at, instead of having to figure out which _hadoop-site.xml_ is the right one
- It makes it much less likely that you'll edit the wrong file by mistake
- Admins can keep all Hadoop configuration in a single directory for instance, 
a directory from which it gets distributed to the cluster or in a directory in 
a version control system

It will need different code for constructing configuration in different places. 
But the code changes don't seem to be very cumbersome. It seems like a very 
reasonable price to pay for ease of administration.


> Divide the server and client configurations
> -------------------------------------------
>
>                 Key: HADOOP-785
>                 URL: https://issues.apache.org/jira/browse/HADOOP-785
>             Project: Hadoop
>          Issue Type: Improvement
>          Components: conf
>    Affects Versions: 0.9.0
>            Reporter: Owen O'Malley
>            Assignee: Arun C Murthy
>             Fix For: 0.15.0
>
>
> The configuration system is easy to misconfigure and I think we need to 
> strongly divide the server from client configs. 
> An example of the problem was a configuration where the task tracker has a 
> hadoop-site.xml that set mapred.reduce.tasks to 1. Therefore, the job tracker 
> had the right number of reduces, but the map task thought there was a single 
> reduce. This lead to a hard to find diagnose failure.
> Therefore, I propose separating out the configuration types as:
> class Configuration;
> // reads site-default.xml, hadoop-default.xml
> class ServerConf extends Configuration;
> // reads hadoop-server.xml, $super
> class DfsServerConf extends ServerConf;
> // reads dfs-server.xml, $super
> class MapRedServerConf extends ServerConf;
> // reads mapred-server.xml, $super
> class ClientConf extends Configuration;
> // reads hadoop-client.xml, $super
> class JobConf extends ClientConf;
> // reads job.xml, $super
> Note in particular, that nothing corresponds to hadoop-site.xml, which 
> overrides both client and server configs. Furthermore, the properties from 
> the *-default.xml files should never be saved into the job.xml.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to