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

时间:2013-09-20 04:05:12

标签: hadoop hdfs

此内容出现在HDFS documentation上。我无法理解最后一行的原因。根据我的说法,如果机架数量更多,我们可以在每个机架上并行编写。这将减少写入的总时间。即使它说我们需要将数据传输到多个机架,写入成本也会增加。但无论如何我们都会将数据传输到机架。

请解释我错在哪里?

http://hadoop.apache.org/docs/stable/hdfs_design.html

  

NameNode通过确定每个DataNode所属的机架ID   Hadoop Rack Awareness中概述的流程。一个简单但非最优的   政策是将复制品放在独特的货架上。这可以防止丢失数据   当整个机架出现故障并允许使用多个带宽时   读取数据时的机架。此策略均匀分发副本   集群,可以轻松平衡组件故障的负载。   但是,此策略会增加写入成本,因为写入需要将块传输到多个机架。

1 个答案:

答案 0 :(得分:1)

您加粗的声明旨在表达网络跃点的成本。有一个隐含的假设,即每个机柜都有一个机架顶部交换机,可以为该机架内的服务器提供专用的连接。

如果您采用将每个副本放置到唯一机架的“简单”策略,那么您将为此方案中的每个块调用2+跳网络副本。与一个本地机架副本和另一个机架外副本的推荐策略相比,这是“非最佳”,其中只有一个2+跳副本和一个1跳副本。

同样,此建议仅适用于机架顶部切换的网络拓扑。如果你有一些其他更扁平的网络拓扑,这将是无关紧要的。