HDFS是按块存储,每个块的元数据存储在namenode内存中,因此大量的小文件会耗尽namenode内存。
HDFS通过文件存档来解决这个问题
归档是需要启动YARN
归档文件
把/user/input目录里面的所有文件归档成一个叫input.har的归档文件,并把归档后文件存储到/user/output路径下。
hadoop archive -archiveName input.har –p /user/input /user/output
查看归档
hadoop fs -lsr /user/output/input.har
hadoop fs -lsr har:///user/output/input.har
解归档文件
hadoop fs -cp har:/// user/output/input.har/* /user