Hadoop2.7.6之前和Hadoop2.8.4之后的副本存放策略

新旧版本的副本存放策略比较

Hadoop2.7.6及以下版本是按照旧的策略进行副本存放的,官网文档描述如下:

旧版本的副本存放策略

在常见情况下,当复制因子为3时,HDFS的放置策略是将一个副本放置在本地机架中的一个节点上,将另一个副本放置在本地机架中的另一个节点上,最后一个副本放置在不同机架中的另一个节点上。

Hadoop2.8.4及以上版本是按照新的策略进行副本存放的,官网文档描述如下:

新版本的副本存放策略

在常见情况下,当复制因子为3时,HDFS的放置策略是:如果写入器在数据节点上,则将一个副本放置在本地计算机上;否则,在随机数据节点上,HDFS将另一个副本放置在不同(远程)机架中的节点上的,最后一个位于同一远程机架中的其他节点上。

新版本的副本存放策略思想

最后,再把新版本的副本存放策略的基本思想描述如下:

第一个副本存放Client所在的节点上(假设Client不在集群的范围内,则第一个副本存储节点是随机选取的。当然系统会不选择那些太满或者太忙的节点)

第二个副本存放在与第一个节点不同机架中的一个节点上。

第三个副本和第二个在同一个机架,随机放在不同的节点上。

如果还有很多其他的副本就随机放在集群中的各个节点上。


原文链接:https://blog.csdn.net/accptanggang/article/details/102609318

Author: Tunan
Link: http://yerias.github.io/2018/10/08/hadoop/5/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.