hadoop-common-dev mailing list archives

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

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

Owen O'Malley commented on HADOOP-785:
--------------------------------------

Sorry, I thought I was clearer. I was proposing a much more radical structure. Under your
proposal, the source of config values in a task looks like:

{code}
a few attributes localized in (eg. task id, etc.)
server's hadoop-final.xml
user's setting
client's hadoop-final.xml
client's hadoop-initial.xml
client's hadoop-default.xml (readonly)
server's hadoop-initial.xml
server's hadoop-default.xml (readonly)
{code}

and server's configuration look like:

{code}
server's hadoop-final.xml
server's hadoop-initial.xml
server's hadoop-default.xml (readonly)
{code}

I'm proposing a much simpler structure, with client task configs looking like:

{code}
a few attributes localized in (eg. task id, mapred.local.dir,dfs.client.buffer.dir, etc.)
user's settings
client's hadoop-site.xml
client's hadoop-default.xml (readonly)
{code}

Server's configs in my view would look like:

{code}
server's hadoop-site.xml
server's hadoop-defaul.xml (readonly)
{code}

I think by reducing the number of places where a given setting can be changed will dramatically
help the usability of the config system. I think using different orderings of the config files
based on the context makes things really confusing.

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


Mime
View raw message