2023年11月26日发(作者:)

Hadoop集群⼩⽂件合并

Hadoop集群运⾏⼀段时间后⼩⽂件越来越多,namenode不堪重负,不仅GC越来越频繁,还会偶尔挂掉

Hadoop集群⼤部分⽂件都来源于数仓,由于数仓未对相关配置进⾏优化,所以才会产⽣很多⼩⽂件

为了解决⼩⽂件问题:

优化hive参数

es=true

files=true(合并mr任务结果,开启后会新起⼀个mr任务⽤于合并⽂件)

iles=true(合并spark引擎结果)

e=134217728 (平均⼤⼩⼩于128M,则进⾏合并)

=268435456(合并后的⽂件⼤⼩-256M,此值应该⼤于e)

=false (关闭的合并,使⽤⽂件级别的合并)

开发⼯具合并集群现有⼩⽂件

扫描-d指定库中的表,查看表每个分区的⼩⽂件情况,如果⽂件多于-fs指定的⽂件个数则进⾏合并(不指定fs参数则fs值是

(1,分区⽬录totalFile Size/hdfsBlockSize);

合并引擎使⽤spark thrfit server。虽然实现⽐较简单,但是能真正解决⼩⽂件问题,如果觉得对你有帮助,⿇烦给个星