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

Hadoop:增加块大小时性能下降?,hadoop,hdfs,Hadoop,Hdfs,有人在Hadoop中增加块大小时看到性能下降吗?我们正在建立一个集群,我们希望每天有大量的数据(100Gbs)需要存储,所以我的想法是我们可以将数据块的大小增加很多。但是,有人担心它是否会降低将要运行的MapReduce作业的速度。我能看到它发生的唯一方式是,如果块的数量少于集群上可以运行的任务的数量 有人有关于这个主题的其他信息吗?这里有几点需要考虑: 不建议文件太小-文件系统元数据保存在namenode内存中-硬件限制文件数量 HDFS上的默认块大小为64MB,但在生产服务器中最常见的情况

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


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

这里有几点需要考虑:

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

谢谢,但除了关于块大小接近文件大小的信息外,我在几个地方看到了相同的信息。我特别想找一个例子,有人因为增加块大小而导致性能下降。