为什么在hdfs中包含多个机架的写入成本很高?

rdlzhqv9  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(285)

此内容出现在hdfs文档中。我不明白最后一行的原因。根据我的说法,如果有更多的机架,我们可以在每个机架上并行写入。这将减少总的写入时间。甚至它还说,由于我们需要将数据传输到多个机架,写操作的成本也会增加。但无论如何,我们都会把数据传输到机架上。
请解释一下我错在哪里?
http://hadoop.apache.org/docs/stable/hdfs_design.html
namenode通过hadoop机架感知中概述的过程确定每个datanode所属的机架id。一个简单但非最佳的策略是将副本放在唯一的机架上。这样可以防止在整个机架发生故障时丢失数据,并允许在读取数据时使用多个机架的带宽。此策略在群集中均匀地分布副本,这使得在组件发生故障时很容易平衡负载。但是,此策略会增加写入成本,因为写入需要将块传输到多个机架。

tct7dpnv

tct7dpnv1#

你加粗体的声明是为了表达网络跳跃的成本。有一个隐含的假设,即每个机柜都有一个机架顶部交换机,专门为机架内的服务器提供连接。
如果您要采用将每个复制副本放置到唯一机架的“简单”策略,那么您将为此方案中的每个块调用2+跃点网络副本。与一个本地机架复制副本和另一个非机架复制副本的建议策略(其中只有一个2+跃点副本和一个1跃点副本)相比,这是“非最佳”策略。
同样,此建议仅适用于具有机架顶部交换的网络拓扑。如果您有其他更平坦的网络拓扑,这将是无关紧要的。

相关问题