【发布时间】:2015-05-09 21:03:47
【问题描述】:
我有如下的水槽代理
agent1.sources = Weather
agent1.sources.Weather.type = spooldir
agent1.sources.Weather.spoolDir = /Weather/Docs
agent1.sources.Weather.channels = MemChannel
agent1.channels = MemChannel
agent1.channels.MemChannel.type = memory
agent1.channels.MemChannel.capacity = 10000
agent1.channels.MemChannel.transactionCapacity = 1000
agent1.channels.MemChannel.deletePolicy = immediate
agent1.sinks = HDFS
agent1.sinks.HDFS.channel = MemChannel
agent1.sinks.HDFS.type = hdfs
agent1.sinks.HDFS.hdfs.path = hdfs://localhost:8020/user/flume/input/
agent1.sinks.HDFS.hdfs.fileType = DataStream
agent1.sinks.HDFS.hdfs.writeFormat = Text
agent1.sinks.HDFS.hdfs.batchSize = 1000
agent1.sinks.HDFS.hdfs.rollSize = 0
agent1.sinks.HDFS.hdfs.rollCount = 10000
假脱机目录中的文件会自动重命名为 .COMPLETED 在水槽代理将该文件写入HDFS之后,文件应该重命名为.COMPLETED,但在我的例子中,它在代理运行之前将文件重命名为.COMPLETED。即使我只是手动将文件复制到假脱机目录,它也会将文件重命名为 .COMPLETED。
还有一个问题是即使文件复制到 HDFS 后,deletepolicy 也不会删除文件。
代理将假脱机目录文件随机写入 HDFS。
它还在 HDFS 中创建了大量的 tmp 文件。
我在编写代理时做错了什么还是我在代理中遗漏了什么......??
请帮我解决这个问题。
提前致谢
【问题讨论】: