博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

hdfs小文件处理 flume

HDFS存入大量小文件,有什么影响?

元数据层面:每个小文件都有一份元数据,其中包括文件路径,文件名,所有者,所属组,权限,创建时间等,这些信息都保存在 Namenode 内存中(大的文件块和小的文件块都占用NameNode150字节的内存)。

所以小文件过多,会占用 Namenode 服务器大量内存,影响 Namenode 性能和使用寿命。

计算层面:默认情况下MR会对每个小文件启用一个MapTask计算,非常影响计算性能。同时也影响磁盘寻址时间。

 

# 将这几个字段的值设置为0

a1.sinks.k1.hdfs.rollInterval = 0

a1.sinks.k1.hdfs.rollCount = 0

a1.sinks.k1.hdfs.rollSize = 0

 

字段 默认值 说明
hdfs.rollInterval 30     每隔30秒截断一个文件。设置为0表示不会因为时间间隔截断文件
hdfs.rollSize 1024     文件字节数超过1024截断一个文件。设置为0就不因为文件大小截断文件
hdfs.rollCount 10      每10个event截断一个文件。设置为0就不因为event数量截断文件
原文链接:https://blog.csdn.net/weixin_43990496/article/details/106306470

posted @ 2022-06-16 11:00  CHANG_09  阅读(82)  评论(0编辑  收藏  举报