这里我假设我有一个由4个节点组成的集群,数据量为500gb。然后在hadoop1中,使用默认的块大小(64mb),数据块将如何分配给节点,我假设复制因子为3。我的理解是:如果我有200mb的数据,那么在默认块大小(64mb)的hadoop1中,数据被分为4个块64+64+64+8,在4个节点中,所有4个块都将出现并复制。我添加了一张图片来表示我的理解。如果我的理解是正确的,那么它将如何工作500mb的数据,如果不能帮助我理解。我对hdfs的理解
vawmfj5a1#
是的,你的理解是正确的。hdfs中的默认块大小对于版本1.x是64mb,对于版本2.x是128mb。如果块没有完成,它就像孢子一样。但如果需要,您可以配置大小。默认复制系数为3,但也可能在配置中发生更改,因此,如果您具有机架感知配置,则会复制块:在某个节点上放置一个块第二块和第一块放在同一个架子上第三块放在不同的架子上有关更多详细信息,请参阅本文
1条答案
按热度按时间vawmfj5a1#
是的,你的理解是正确的。hdfs中的默认块大小对于版本1.x是64mb,对于版本2.x是128mb。如果块没有完成,它就像孢子一样。但如果需要,您可以配置大小。
默认复制系数为3,但也可能在配置中发生更改,因此,如果您具有机架感知配置,则会复制块:
在某个节点上放置一个块
第二块和第一块放在同一个架子上
第三块放在不同的架子上
有关更多详细信息,请参阅本文