hdfs—hadoop管道写入和机架感知

5sxhfpxr  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(457)

当每个文件写入集群时,hdfs将创建一个复制管道。假设有两个机架1和5。根据机架感知,第一个数据块将保存到机架1中,另外两个复制的数据块将被推入机架5中。
我很困惑,为什么hadoop管道会将第二个和第三个复制块存储在同一个机架(5)中,而不是将第一个和第二个块存储在同一个机架(1)中?这两种场景具有相同的网络流量。它的优点是什么?
谢谢。
请参考此图http://bradhedlund.s3.amazonaws.com/2011/hadoop-network-intro/hdfs-pipleline-write-s.png

yhqotfr8

yhqotfr81#

这适用于hdfs 1.2,两个块都放在远程机架上的原因是为了最小化机架间通信量。因为第二个块已经在远程机架上,所以在远程机架上的两个服务器之间复制该块不会消耗机架之间链路的带宽。如果机架顶部的交换机设计高效,这将使带宽利用率降至最低。在繁忙的集群上,相同的过程将在两个机架上发生。机架a和机架b将以大致相同的速率生成块。因此,遵循这个策略有助于均衡所有链路的带宽利用率。

相关问题