新旧版本的副本存放策略比较
Hadoop2.7.6及以下版本是按照旧的策略进行副本存放的,官网文档描述如下:
在常见情况下,当复制因子为3时,HDFS的放置策略是将一个副本放置在本地机架中的一个节点上,将另一个副本放置在本地机架中的另一个节点上,最后一个副本放置在不同机架中的另一个节点上。
Hadoop2.8.4及以上版本是按照新的策略进行副本存放的,官网文档描述如下:
在常见情况下,当复制因子为3时,HDFS的放置策略是:如果写入器在数据节点上,则将一个副本放置在本地计算机上;否则,在随机数据节点上,HDFS将另一个副本放置在不同(远程)机架中的节点上的,最后一个位于同一远程机架中的其他节点上。
新版本的副本存放策略思想
最后,再把新版本的副本存放策略的基本思想描述如下:
第一个副本存放Client所在的节点上(假设Client不在集群的范围内,则第一个副本存储节点是随机选取的。当然系统会不选择那些太满或者太忙的节点)
第二个副本存放在与第一个节点不同机架中的一个节点上。
第三个副本和第二个在同一个机架,随机放在不同的节点上。
如果还有很多其他的副本就随机放在集群中的各个节点上。
原文链接:https://blog.csdn.net/accptanggang/article/details/102609318