此内容出现在HDFS文档上。我不明白最后一行的原因。根据我的说法,如果有更多的机架,我们可以在每个机架上并行地写。这将减少写作的总时间。甚至它说,随着我们需要将数据传输到多个机架上,写入的成本也会增加。但无论如何,我们都会把数据传输到机架上。
请解释我哪里错了?
design.html
NameNode通过Hadoop感知中概述的过程确定每个DataNode所属的齿条id。一个简单但非最优的策略是将复制品放置在独特的架子上。这可以防止当整个机架发生故障时丢失数据,并允许在读取数据时从多个机架上使用带宽。此策略在集群中均匀分配副本,从而便于在组件故障时平衡负载。然而,这个策略增加了写操作的成本,因为写入需要将块传输到多个机架上。
发布于 2013-09-20 13:47:26
您使用粗体表示的语句是为了传递网络跳的成本。有一个隐含的假设,即每个机柜都有一个机架开关的顶部,仅提供与该机架内的服务器的连接。
如果您要采用“简单”策略将每个副本放置到一个唯一的机架上,那么您将为该方案中的每个块调用一个2+跳网络副本。与建议的策略相比,这是“非最优的”,即一个本地机架副本和另一个非机架副本,其中只有一个2+跳转副本和一个1跳副本。
同样,此建议只适用于具有顶部的机架交换的网络拓扑。如果您要有其他一些更平坦的网络拓扑,这将是不相关的。
https://stackoverflow.com/questions/18908629
复制相似问题