Flume在hdfs产生大量日志文件的问题
线上两台flume向hdfs写日志,但是后来发现每5分钟产生的日志文件数量很多(远远超过两个的数量)。 后来找了一个时间观察下日志,发现如下日志:
16/12/13 11:38:11 INFO hdfs.BucketWriter: Closing idle bucketWriter hdfs://xxx/xx/xxx_log_20161213/.xxx_log.1481600173693.tmp at 1481600291480
根据日志找代码,发现是BucketWriter
在配置了hdfs.idleTimeout
的情况下,会在超时后关闭不活跃的日志文件。 flume官方文档对此参数的描述如下:
Timeout after which inactive files get closed (0 = disable automatic closing of idle files)
找到原因后,当然就很简单了,由于此参数默认是0,直接删除这个参数的相关配置就好了。每5分钟产生的日志数量就是两个了。
Flume在hdfs产生大量日志文件的问题
https://robberphex.com/flume-causing-large-number-log-files-in-hdfs/