一百七十三、Flume——Flume写入HDFS后的诸多小文件问题

一、目的

在用Flume采集Kafka中的数据写入HDFS后,发现写入HDFS的不是每天一个文件,而是一个文件夹,里面有很多小文件,浪费namenode的宝贵资源

二、Flume的配置文件优化(参考了其他博文)

(一)方法一、大多数人推荐经过测试有效的方法

在Flume任务的配置文件设置

a1.sinks.k1.hdfs.rollSize = 0

a1.sinks.k1.hdfs.rollCount = 0

而不是

a1.sinks.k1.hdfs.round=true

a1.sinks.k1.hdfs.roundValue=10

a1.sinks.k1.hdfs.roundUnit=minute

将rollSize和rollCount设置为0,表示不根据临时文件大小和event数量来滚动文件(滚动文件即指将HDFS上生成的以.tmp结尾的临时文件转换为实际存储文件

还有说可以调大rollSize的参数,比如调至102400,表示100KB。滚动文件的单位是byte。

(二)方法二、有人推荐经过测试后似乎有效的方法

还是在Flume任务的配置文件设置

a1.sinks.k1.hdfs.minBlockReplicas=1

我测试过,本来每5分钟就会有104.54 KB和1.63 KB的两个文件,因为有两个数据源。

在配置文件里加入这个a1.sinks.k1.hdfs.minBlockReplicas=1后,那个小文件1.63 KB就消失了。

所以这个方法还是有效的,但是对我来说就有点问题,就把它给去掉了,还是用方法一

Flume虽然安装简单,但是使用起来却非常不简单,使用过程中需要优化的配置服务很多,需要进一步研究总结!

相关推荐
字节跳动数据平台2 小时前
5000 字技术向拆解 | 火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
武子康7 小时前
大数据-239 离线数仓 - 广告业务实战:Flume 导入日志到 HDFS,并完成 Hive ODS/DWD 分层加载
大数据·后端·apache hive
字节跳动数据平台1 天前
代码量减少 70%、GPU 利用率达 95%:火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
得物技术1 天前
深入剖析Spark UI界面:参数与界面详解|得物技术
大数据·后端·spark
武子康1 天前
大数据-238 离线数仓 - 广告业务 Hive分析实战:ADS 点击率、购买率与 Top100 排名避坑
大数据·后端·apache hive
武子康2 天前
大数据-237 离线数仓 - Hive 广告业务实战:ODS→DWD 事件解析、广告明细与转化分析落地
大数据·后端·apache hive
大大大大晴天2 天前
Flink生产问题排障-Kryo serializer scala extensions are not available
大数据·flink
武子康4 天前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程
大数据·后端·apache hive
武子康5 天前
大数据-235 离线数仓 - 实战:Flume+HDFS+Hive 搭建 ODS/DWD/DWS/ADS 会员分析链路
大数据·后端·apache hive
DianSan_ERP6 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet