0

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

请解释我哪里错了?

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

NameNode 通过 Hadoop Rack Awareness 中概述的过程确定每个 DataNode 所属的机架 ID。一个简单但非最佳的策略是将副本放置在唯一的机架上。这可以防止在整个机架发生故障时丢失数据,并允许在读取数据时使用来自多个机架的带宽。此策略在集群中均匀分布副本,这使得在组件故障时平衡负载变得容易。 但是,此策略增加了写入的成本,因为一次写入需要将块传输到多个机架。

4

1 回答 1

1

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

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

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

于 2013-09-20T13:47:26.380 回答