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

Rodrigo Schmidt commented on HDFS-1094:
---------------------------------------

@Hairong: Just a few observations

1) The policy I'm implementing doesn't fix the number of racks to 3 and I don't 
think anyone agrees that should be the case. Dhruba mentioned this static 
3-rack policy in this discussion, but I guess that was just an example of how 
block placement can reduce the probability of failure.

2) There is a clear trade-off here. The more you restrict where you can place 
blocks, the worse your maximum bandwidth and load balance will tend to be. 
(because you will have fewer ways to rearrange blocks to maximize these 
metrics). So, no free lunch.

3) Still, in some cases, we might want to reduce bandwidth and load balance 
possibilities for a lower probability of data loss, specially if HDFS is being 
used to store important data, backed up by some middleware that has a cache 
layer.

Having said that, the patch I'm working on is a configurable policy where 
configuration variables define windows in two spaces, racks and machines within 
a rack, in which blocks can be placed. Potentially, these windows can be set to 
be the entire cluster, which is exactly the default block placement policy. In 
the other extreme, such windows can be defined to be as restrict as only three 
machines, which will give the lowest probability of data loss but no freedom to 
improve load balance or bandwidth.

Please let me know if this is not clear enough.

> Intelligent block placement policy to decrease probability of block loss
> ------------------------------------------------------------------------
>
>                 Key: HDFS-1094
>                 URL: https://issues.apache.org/jira/browse/HDFS-1094
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: name-node
>            Reporter: dhruba borthakur
>            Assignee: Rodrigo Schmidt
>         Attachments: prob.pdf, prob.pdf
>
>
> The current HDFS implementation specifies that the first replica is local and 
> the other two replicas are on any two random nodes on a random remote rack. 
> This means that if any three datanodes die together, then there is a 
> non-trivial probability of losing at least one block in the cluster. This 
> JIRA is to discuss if there is a better algorithm that can lower probability 
> of losing a block.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to