1.block 块
以前64m,现在128m 容量规格
也可dfs.blocksize: 128m调整为256m,基于生产环境决定。
HDFS 适应场景: 大文件存储,小文件是致命的
2.小文件
生产上:1.小文件阈值,
自己去看一下,取个中间值。
2.如何合并小文件:
数据未落地到hdfs之前合并,数据已经落到hdfs,spark service服务 ,每天去调度去合并 (-15天 根据业务周期决定)
3.小文件危害:
(1)NameNode需要的内存大大增大,增加NameNode压力,这样会限制了集群的扩展。
(2)计算的时候,小文件越多,任务就越多,不是很有利。影响hive ,spark速度。
案例:
小文件会把NN名称节点老大(4G=42亿字节)撑爆
1个小文件(阈值<=30m): nn节点维护的字节大约250字节
1亿个小文件 250b*1亿=250亿字节
1亿个小文件合并100万个大文件:250b*1百万=2亿字节
3.副本数
伪分布式 :1台 ,副本数据只能为1,生产上副本数一般是官方默认参数: 3份。
dfs.replication : 3,分布在不同机器。
题目: 块大小128m 副本数3份,
一个文件260m,请问多少块,多少实际存储?
260/128约等于3块
3块*3个副本=9块
260m * 3个副本 =780m