我了解HDFS中小文件和小块大小的缺点。我试图理解默认的64/128 MB块大小背后的原理。具有大块大小(例如2GB)是否存在任何缺点(我读到比这更大的值会引起问题,但我尚未深入研究其细节)。
我认为过大的块大小可能会出现以下问题(请纠正我,可能有些或所有这些问题实际上不存在)-
感谢您的帮助。提前致谢。
我认为过大的块大小可能会出现以下问题(请纠正我,可能有些或所有这些问题实际上不存在)-
- 可能在数据节点失效时复制1 GB文件时会出现问题-这需要集群传输整个文件。如果我们使用较小的块大小(例如128 MB),则如果有很多较小的文件,则可能必须传输更多的文件。
- 可能会影响Mappers。大块可能会导致每个Mapper处理的数据量增加,从而减少了可能的Mapper数量。但是如果我们使用较小的拆分大小,则不应该成为问题。
- 当我想到这可能是一个问题时,它听起来很傻,但我仍然想提一下-由于NameNode事先不知道文件的大小,因此可能会认为某个数据节点不可用,因为它没有足够的磁盘空间用于新块(考虑到可能有1-2 GB的大块大小)。但也许它会通过减少特定块的块大小来巧妙地解决这个问题(这可能是一种不好的解决方案)。
感谢您的帮助。提前致谢。