[ 
https://issues.apache.org/jira/browse/HDFS-1689?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13001749#comment-13001749
 ] 

Jitendra Nath Pandey commented on HDFS-1689:
--------------------------------------------

Design goals of this change:
1. Existing single namenode configuration must work with federation without any 
change.
2. Configuration for the all the nodes should be same, with no need to set the 
same parameter names to a different
values on different nodes.

Design:
1. A new logical ID called "NameServiceID" is being added. This identifies the 
namenodes and
secondary/backup/checkpointer namenodes belonging together under it. Only the 
namenode and
secondary/backup/checkpointer node related parameters are expected to be 
different for different nodes in the cluster.
In order to support a single configuration file, the existing parameter name 
that are different for different namenodes are suffixed with nameServiceID. The 
configuration parameters that need this suffix (depending on the installation) 
are:

   Namenode params:
   - dfs.namenode.rpc-address
   - dfs.namenode.servicerpc-address
   - dfs.namenode.http-address
   - dfs.namenode.https-address
   - dfs.namenode.keytab.file

  Secondary Namenode params:
   - dfs.namenode.secondary.http-address
   - dfs.secondary.namenode.keytab.file

   Backup node params:
   - dfs.namenode.backup.address
   - dfs.namenode.backup.http-address
   - dfs.namenode.backup.dnrpc-address

2. Two new configuration items are added:
   - dfs.federation.nameservices: is configured with list of comma separated 
nameserviceIDs. This will be used by
Datanodes to determine all the namenodes in the cluster.
   - dfs.federation.nameservice.id: This is a parameter that needs to be set 
only on namenodes/secondary
namenodes/backup/checkpointer. On datanodes this parameter is not used. This is 
set on each namnode/secondary namenode
to the corresponding nameServiceID. This can be set by XML include of another 
file that just defines this parameter on namenodes and empty file on datanodes. 
Alternatively this can be set by passing 
-Ddfs.federation.nameservice=<nameServiceID> to JVM.

3. When a namenode starts up, it reads the corresponding nameServiceID. It then 
loads the namenode specific parameters and sets them in the generic keys 
(without namesapceID suffix), in runtime configuration. Only generic params are 
used from then on. The same mechanism is done on secondary/backup/checkpointers 
also.






> Hdfs Federation: Configuration for namenodes
> --------------------------------------------
>
>                 Key: HDFS-1689
>                 URL: https://issues.apache.org/jira/browse/HDFS-1689
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: name-node
>    Affects Versions: Federation Branch
>            Reporter: Jitendra Nath Pandey
>            Assignee: Jitendra Nath Pandey
>             Fix For: Federation Branch
>
>         Attachments: HDFS-1689.1.patch, HDFS-1689.2.patch
>
>
> We need ability to specify some configuration parameters which are namenode 
> specific.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to