gpt4 book ai didi

Hadoop:增加 block 大小时性能下降?

转载 作者:可可西里 更新时间:2023-11-01 14:35:54 25 4
gpt4 key购买 nike

有没有人发现在 Hadoop 中增加 block 大小时性能会下降?我们正在建立一个集群,我们预计每天需要存储大量数据(100 GB),所以我的想法是我们可以大量增加 block 大小。但是,有人担心它是否会减慢将要运行的 MapReduce 作业的速度。我能看到它发生的唯一方式是,如果 block 的数量少于可以在集群上运行的任务的数量。

有人有关于这个主题的任何其他信息吗?

最佳答案

这里有几点需要考虑:

  • 不推荐太小的文件 - 文件系统元数据保存在名称节点内存中 - 文件数量的硬件限制。
  • HDFS 上的默认 block 大小为 64MB,但在生产服务器中最常见的情况是 128MB。
  • HDFS block 默认情况下很大,与查找时间相比, block 的传输时间更长 - 因此传输时间由许多 block 组成的大文件在磁盘传输时运行。
  • MapReduce 任务一次在一个 block 上运行,因此如果任务太少(少于集群中的节点),您的作业可能会很慢。
  • 将 block 大小设置为接近 HDFS 上文件的近似大小并不是一个好主意,因为它会增加错误数据的可能性。假设您有 1 个 1GB 的文件,您的 block 大小也是 1GB。还假设您的云上的复制因子为 3(默认值或至少最常见)。这意味着您将在 3 台机器上将整个文件作为一个 block 。这与在 3 台机器上只复制一些文件 block 不同。
  • 如果(输入处理文件的) block 数少于您可以在您的环境中并发运行的任务数——这很好——这意味着您正在以最大并行度处理所有输入数据,并且仍然有空闲资源。

关于Hadoop:增加 block 大小时性能下降?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8249430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com