HDFS小文件的危害

一、black块
举例:
black块官方设置的是64m,现在多数用的是128m

举例:
一个文件130M % 128M=1…2m
结果是1个块128m,1个块2m
一碗水130ml 一个瓶子规格容量128ml
只能2个瓶子:第1个装满128ml 第二个装不满,实为2ml

二、小文件的危害
HDFS 适应场景: 大文件存储,小文件是致命的
举例说 明

接上个例子130m的文件
10m的10个文件 10块
30m的1个文件 1块
共有11个文件: 11块
系统维护一般轻量级会比较好,本身可以2个块去维护,但现在需要11个块维护 ,如果数量级比较大有可能会把nn撑爆

为什么小文件会把NN撑爆?

例如
NN的大小是4G大概是42亿字节
1个小文件(阈值<=30m): nn节点维护的字节大约250字节
1亿个小文件 250b1亿=250亿字节
反而如果1亿个小文件合并100万个大文件:250b
1百万=2亿字节则不会被撑爆

如果nn撑爆,在大数据中,大数据的结构基本上都是主从架构,主节点的nn起到非常重要的作用,nn挂了,所有对外的服务,读写的流程将不能运行。
生产上:,
1.对小文件阈值进行估算
2.合并小文件,数据未落地到hdfs之前合并或者数据已经落到hdfs,用spark service服务每天调度去合并 -15天
具体情况根据公司的业务周期进行合并,比如今天是15号则合并1号的文件,16号合并2号的
3.小文件危害: 一个是撑爆nn,另一个是hive或者spark计算的时候会影响它的速度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值