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

Aaron T. Myers commented on HDFS-2430:
--------------------------------------

While just being able to configure the number of tolerated dir failures from 
the single pool of dirs specified by the {{dfs.namenode.name.dir}} config would 
be an improvement, I actually think the best solution would to be able to 
specify multiple distinct pools of name dirs, where the number of failed 
volumes tolerated could be configured per-pool. This will be useful since not 
all name dirs are created equal. For example, if an operator has 4 name dirs 
configured, 3 of which are local, with the other being on a remote machine 
mounted via NFS, the operator might want to configure the NN to tolerate up to 
2 failures of the 3 local dirs, but stop immediately if the NFS dir goes away. 
I think such a scheme will be necessary for an NFS-based HA solution, as 
described as one of the options in HDFS-1623, but this configuration can be 
useful generally as well, so might as well be developed on trunk.

I can imagine two high-level designs:

# The operator can configure exactly two distinct pools of name dirs, 
configured via something like {{dfs.namenode.name.dirs.required}} and 
{{dfs.namenode.name.dirs.redundant}}. If any single dir specified in the 
{{.required}} config goes offline, the NN will not continue to operate. The 
number of acceptable failed dirs in the {{.redundant}} pool would be 
configurable by a third option, {{dfs.name.node.name.dirs.failures.tolerated}}.
# The operator can specify N distinct pools of name dirs, configured via 
something like {{dfs.namenode.name.dirs.pool.0}}, 
{{dfs.namenode.name.dirs.pool.1}}, etc. For each of these configured pools, the 
number of failed volumes tolerated could be configured individually, e.g. 
{{dfs.namenode.name.dirs.failures.tolerated.pool.0}}, 
{{dfs.namenode.name.dirs.failures.tolerated.pool.1}}, etc.

Under either of these schemes, it would be an error to specify the same dir in 
multiple pools.

Any thoughts? Option 2 is obviously more flexible, but I don't want to thrust 
our operators deeper into configuration hell than they already are.
                
> The number of failed or low-resource volumes the NN can tolerate should be 
> configurable
> ---------------------------------------------------------------------------------------
>
>                 Key: HDFS-2430
>                 URL: https://issues.apache.org/jira/browse/HDFS-2430
>             Project: Hadoop HDFS
>          Issue Type: New Feature
>          Components: name-node
>    Affects Versions: 0.24.0
>            Reporter: Aaron T. Myers
>            Assignee: Aaron T. Myers
>
> Currently the number of failed or low-resource volumes the NN can tolerate is 
> effectively hard-coded at 1. It would be nice if this were configurable.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to