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 /

相关推荐
gAlAxy...3 分钟前
SpringMVC 响应数据和结果视图:从环境搭建到实战全解析
大数据·数据库·mysql
ganqiuye4 分钟前
向ffmpeg官方源码仓库提交patch
大数据·ffmpeg·video-codec
越努力越幸运50834 分钟前
git工具的学习
大数据·elasticsearch·搜索引擎
不会写程序的未来程序员37 分钟前
详细的 Git 操作分步指南
大数据·git·elasticsearch
Kiri霧1 小时前
Scala 循环控制:掌握 while 和 for 循环
大数据·开发语言·scala
pale_moonlight1 小时前
九、Spark基础环境实战((上)虚拟机安装Scala与windows端安装Scala)
大数据·分布式·spark
武子康1 小时前
大数据-167 ELK Elastic Stack(ELK) 实战:架构要点、索引与排错清单
大数据·后端·elasticsearch
艾莉丝努力练剑3 小时前
【Python基础:语法第一课】Python 基础语法详解:变量、类型、动态特性与运算符实战,构建完整的编程基础认知体系
大数据·人工智能·爬虫·python·pycharm·编辑器
智能相对论3 小时前
10万人共同选择的背后,Rokid乐奇有自己的“破圈秘籍”
大数据·智能眼镜
人大博士的交易之路3 小时前
龙虎榜——20251128
大数据·数学建模·数据挖掘·数据分析·缠论·龙虎榜·道琼斯结构