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 /

相关推荐
艾莉丝努力练剑5 分钟前
【C++:红黑树】深入理解红黑树的平衡之道:从原理、变色、旋转到完整实现代码
大数据·开发语言·c++·人工智能·红黑树
ImproveJin8 分钟前
Flink Source源码解析
大数据·flink
PONY LEE10 分钟前
Flink Rebalance触发乱序的问题
大数据·flink
snowful world14 分钟前
实验四 综合数据流处理-Storm案例实现
大数据·storm
金融Tech趋势派35 分钟前
金融机构如何用企业微信实现客户服务优化?
大数据·人工智能·金融·企业微信·企业微信scrm
Acrelhuang1 小时前
筑牢用电防线:Acrel-1000 自动化系统赋能 35kV 园区高效供电-安科瑞黄安南
java·大数据·开发语言·人工智能·物联网
Elastic 中国社区官方博客1 小时前
使用 Mastra 和 Elasticsearch 构建具有语义回忆功能的知识 agent
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
新手小白*1 小时前
Elasticsearch+Logstash+Filebeat+Kibana部署【7.1.1版本】
大数据·elasticsearch·搜索引擎
B站计算机毕业设计之家1 小时前
大数据python招聘数据分析预测系统 招聘数据平台 +爬虫+可视化 +django框架+vue框架 大数据技术✅
大数据·爬虫·python·机器学习·数据挖掘·数据分析