写在前面

本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和文献引用请见1000个问题搞定大数据技术体系

解答

在这里插入图片描述

Block 块不能设置的过大

  1. 由于 HDFS 一个数据块 Block 用一个校验和校验,自然 Block 块设置的小点就可以及时的发现错误并恢复。
  2. Block 块设置的过大的话,不利于数据分散到不同的数据节点上面,这样无法利用并行计算的优势。

Block 块也不能设置的过小

  1. 无论 Block 块多大,在 NameNode 节点存储的元数据大小基本都是恒定的(150byte左右),而 NameNode 节点的内存大小也是恒定的,
    故 Block 块设置的过小,会导致 HDFS 实际存储的数据变少。
  2. Block 块设置的过小,在相同数据量的情况下,需要的操作系统文件描述符会更多,开启的 IO 通道也会更多,这对性能影响比较大。
  3. 如果使用机械磁盘的情况下,需要稍微增大 Block块的大小,这样可以增大磁盘传输时间与机械磁盘的磁头寻址时间的比例,进而提高数据传输效率。
上一篇 下一篇