解决HDFS上小文件的存储

  1. 从源头上解决,在上传到HDFS之前,就将多个小文件归档
    使用tar命令 带上参数-zcvf
    示例:
tar -zcvf xxx.tar.gz  小文件列表
  1. 如果小文件已经上传到HDFS了,可以使用在线归档
    使用hadoop archive命令
    示例:
hadoop archive -archiveName xxx.har -p /文件目录 小文件列表 /存放目录

在线归档的功能实际是一个MR程序,这个程序将HDFS已经存在的多个小文件归档为一个归档文件!

  1. 在本地查看har包里的归档文件,一定要带上har://协议,只有ls不列出归档文件!
hadoop fs -ls har:///xxx.har
  1. 下载归档文件
hadoop fs -get har:///xxx.har/xxx文件

你可能感兴趣的:(解决HDFS上小文件的存储)