Hadoop3:HDFS存储优化之小文件归档

一、情景说明

我们知道,NameNode存储一个文件元数据,默认是150byte大小的内存空间。

那么,如果出现很多的小文件,就会导致NameNode的内存占用。

但注意,存储小文件所需要的磁盘容量和数据块的大小无关。

例如,一个1MB的文件设置为128MB的块存储,实际使用的是1MB的磁盘空间,而不是128MB

二、解决方案

HDFS存档文件或HAR文件来优化这个问题

具体说来,HDFS存档文件对内还是一个一个独立文件,对NameNode而言却是一个整体,减少了NameNode的内存。

它的底层,其实是一个MR程序。

你可以简单理解为,它就是一个压缩程序。

三、案例

将/input目录下的文件归档成input.har文件,并存于根目录。

归档文件

bash 复制代码
hadoop archive -archiveName input.har -p /input /output

查看归档文件内容

bash 复制代码
hadoop fs -ls /output/input.har
hadoop fs -ls har:///output/input.har

解压归档文件中所有文件

bash 复制代码
hadoop fs -cp har:///output/input.har/*    /

解压归档文件中一个文件

bash 复制代码
hadoop fs -cp har:///output/input.har/hello.txt /

相关推荐
兴趣使然h9 分钟前
ElasticSearch的DSL查询④(DSL查询、RestClient的DSL查询)
java·大数据·elasticsearch·搜索引擎·springboot
wukangjupingbb1 小时前
数据资产盘点
大数据·人工智能
PLM小助手1 小时前
鼎捷新一代PLM 荣膺维科杯 “2023年度行业优秀产品奖”
java·大数据·前端·人工智能·分布式·低代码·微服务
Lansonli2 小时前
Elasticsearch基础(七):Logstash如何开启死信队列
大数据·elasticsearch·搜索引擎
旗晟机器人2 小时前
《创新电力巡检,机器人铸就安全高效未来》
大数据·人工智能·安全·机器人
电商数据girl2 小时前
B2C电商接口解决方案||搭建电商项目必备电商接口
java·大数据·开发语言·人工智能·后端·json
Casual_Lei3 小时前
比较Spark与Flink
大数据·flink·spark
@Young Cheung4 小时前
Elasticsearch入门安装
大数据·elasticsearch·jenkins
AI服务老曹4 小时前
可对画面进行平台传输,实时查看监控的智慧交通开源了
大数据·人工智能·物联网·开源
Python极客之家5 小时前
基于Python的B站热门视频可视化分析与挖掘系统
大数据·python·数据分析·毕业设计·网络爬虫·线性回归·课程设计