Hadoop中hdfs小文件处理

本文探讨了Hadoop中处理大量小文件的问题,包括小文件对NameNode内存的影响以及解决方案。建议采用Har归档和CombineTextInputFormat来优化,同时提到了JVM重用在有小文件场景下的应用。
摘要由CSDN通过智能技术生成

 

假如有128G的小文件,那么它会有多少字节那?

一个小文件:占用namenode多大内存150字节;

128 * 1024*1024*1024byte/150字节 = 9亿文件块

1KB(Kilobyte,千字节)=1024B= 2^10 B;1MB(Megabyte,兆字节,百万字节,简称“兆”)=1024KB= 2^20 B;1GB(Gigabyte,吉字节,十亿字2113节,又称“千兆”)=1024MB= 2^30 B。)

怎么解决呢?

(1)采用har归档方式,将小文件归档

我们的hdfs中保存大量小文件(当然不产生小文件是最佳实践),这样会把namenode的namespace搞的很大。namespace保存着hdfs文件的inode信息,文件越多需要的namenode内存越大,但内存毕竟是有限的(这个是目前hadoop的硬伤)。

下面图片展示了,har文档的结构。har文件是通过mapreduce生成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值