HDFS存储小文件的危害以及解决小文件问题的方法:
危害:
- 如果有大量的小文件的存在,存放的文件数目过多的话会占用很大的内存,甚至撑爆内存。
-
hdfs
使用于高吞吐量,不适合低时间延迟的访问,如果同时存入大量的小文件会花费很长的使时间。hive
后者spark
计算的时候会影响他们的速度。 - 访问小文件,则必须从一个
datanode
跳转到另一个datanode
,这样大大降低了读取性能。
解决方案:
- 生产上设置小文件的阈值,到达阈值就对小文件进行合并。
- 多
Master
设计,让元数据散存到不同的NameNode
中。