首页 > 解决方案 > HDFS 节点之间的数据如何拆分?

问题描述

在这里,我假设我有一个由 4 个节点组成的集群,并且我有 500GB 的数据量。然后在具有默认块大小(64Mb)的 Hadoop1 中,数据块将如何分配给节点,我也假设复制因子为 3。

我的理解:如果我有 200Mb 数据,那么在默认块大小(64Mb)的 Hadoop1 中,数据被分成 4 个块 64+64+64+8 并且在四个节点中,所有四个块都将存在并且是副本。

我添加了一张图片以显示我的理解。如果我的理解是正确的,那么如果不能帮助我理解,它将如何处理 500Mb 数据。 我对HDFS的理解

标签: hadoophdfs

解决方案


是的,你的理解是正确的。HDFS 中的默认块大小对于 1.x 版本是 64Mb,对于 2.x 是 128Mb。如果块没有完成,它就像是孢子一样。但如果需要,您可以配置大小。

在此处输入图像描述

默认复制因子为 3,但也可以更改配置,因此如果您有机架感知配置块被复制:

  • 一个块放置在某个节点上
  • 第二块与第一块放在同一个机架上
  • 第三块放置在不同的机架上

在此处输入图像描述

有关更多详细信息,您可以查看这篇文章


推荐阅读