醉半城 发表于 2017-3-30 17:07:35

求大神。Flume1.7的taildir source每分钟产生一个文件

配置如下:
a1.sources = r1
a1.channels = c1
a1.sinks = s1

a1.channels.c1.type = memory
a1.channels.c1.capacity = 100000
a1.channels.c1.transactionCapacity = 100000

a1.sources.r1.type = TAILDIR
a1.sources.r1.channels = c1
a1.sources.r1.positionFile = /var/log/flume/taildir_position.json
a1.sources.r1.filegroups = f1
a1.sources.r1.filegroups.f1 = /var/log/test/log
a1.sources.r1.fileHeader = true
a1.sources.r1.interceptors = i1
a1.sources.r1.interceptors.i1.type = org.apache.flume.interceptor.TimestampInterceptor$Builder

a1.sinks.s1.type = hdfs
a1.sinks.s1.channel = c1
a1.sinks.s1.hdfs.useLocalTimeStamp = true
a1.sinks.s1.hdfs.path = hdfs://192.168.56.2:9000/flume/events/%Y/%m/%d/%H/%M
a1.sinks.s1.hdfs.filePrefix = test
a1.sinks.s1.hdfs.minBlockReplicas = 1
a1.sinks.s1.hdfs.fileType = DataStream
a1.sinks.s1.hdfs.writeFormat = Text
a1.sinks.s1.hdfs.rollInterval = 0
a1.sinks.s1.hdfs.rollSize = 67108864
a1.sinks.s1.hdfs.rollCount = 0
a1.sinks.s1.hdfs.idleTimeout = 0
a1.sinks.s1.hdfs.callTimeout = 100000

发现hdfs上每分钟会产生一个小文件,问题在哪里?求大神

einhep 发表于 2017-3-30 18:14:46

flume只有三种滚动方式
a1.sinks.s1.hdfs.rollInterval = 0
a1.sinks.s1.hdfs.rollSize = 67108864
a1.sinks.s1.hdfs.rollCount = 0
首先确定是否有自定义文件。
如果有自定义文件,先排除自定义文件的问题。

另外一种方法,也可以更改滚动方式,查看是否还是每分钟产生一个文件。

醉半城 发表于 2017-3-31 09:44:21

einhep 发表于 2017-3-30 18:14
flume只有三种滚动方式
a1.sinks.s1.hdfs.rollInterval = 0
a1.sinks.s1.hdfs.rollSize = 67108864


我看了下配置,唯一有分钟概念的配置是
a1.sinks.s1.hdfs.path = hdfs://192.168.56.2:9000/flume/events/%Y/%m/%d/%H/%M
所以,我试着改了下:
a1.sinks.s1.hdfs.path = hdfs://192.168.56.2:9000/flume/events/%Y/%m/%d/%H
然后就不会没分钟产生一个文件了,还在测试中,是否没小时产生一个。
页: [1]
查看完整版本: 求大神。Flume1.7的taildir source每分钟产生一个文件