hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sameer Paranjpye (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-785) Divide the server and client configurations
Date Mon, 20 Aug 2007 20:31:31 GMT

    [ 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.

View raw message