[
https://issues.apache.org/jira/browse/HDFS-7787?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14318723#comment-14318723
]
Ravi Prakash commented on HDFS-7787:
------------------------------------
Frode!
The code for prioritizing under-replicated blocks is here:
https://github.com/apache/hadoop/blob/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/UnderReplicatedBlocks.java#L149
{noformat}
<li>{@link #QUEUE_HIGHEST_PRIORITY}: the blocks that must be replicated
* first. That is blocks with only one copy, or blocks with zero live
* copies but a copy in a node being decommissioned. These blocks
* are at risk of loss if the disk or server on which they
* remain fails.</li>
{noformat}
It seems you want to split QUEUE_HIGHEST_PRIORITY into two queues: one for
"That is blocks with only one copy" and a more important "blocks with zero live
copies but a copy in a node being decommissioned" . This seems reasonable to
me. Please see if you can submit a patch. It'd be much appreciated.
You can change the rate of re-replication with parameters: Please look at
dfs.namenode.replication.interval ,
dfs.namenode.replication.work.multiplier.per.iteration etc. Could you please
remove that point from the description of the JIRA?
> Wrong priorty of replication
> ----------------------------
>
> Key: HDFS-7787
> URL: https://issues.apache.org/jira/browse/HDFS-7787
> Project: Hadoop HDFS
> Issue Type: Improvement
> Components: datanode
> Affects Versions: 2.6.0
> Environment: 2 namenodes HA, 6 datanodes in two racks
> Reporter: Frode Halvorsen
> Labels: balance, hdfs, replication-performance
>
> Each file has a setting of 3 replicas. split on different racks.
> After a simulated crash of one rack (shutdown of all nodes, deleted
> data-directory an started nodes) and decommssion of one of the nodes in the
> orther rack the replication does not follow 'normal' rules...
> My cluster has appx 25 mill files, and the one node I now try to decommision
> has 9 millions underreplicated blocks, and 3,5 million blocks with 'no live
> replicas'. After a restart of the node, it starts to replicate both types of
> blocks, but after a while, it only repliates under-replicated blocks with
> other live copies. I would think that the 'normal' way to do this would be to
> make sure that all blocks this node keeps the only copy of, should be the
> first to be replicated/balanced ? Another thing, is that this takes
> 'forever'. The rate it's going now it will run for a couple of months before
> I can take down the node for maintance.. It only has appx 250 G of data in
> total ..
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)