分享

flume taildir source 问题

J20_果农 发表于 2017-3-24 12:59:01 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 14270
问题背景:

使用flume搜集日志目录下动态,实时生产的文件
其中log 目录下有子目录,按日期命名,然后子目录下的日志是每小时生成一个日志文件
现在打算使用flume采集log目录下的日志文件,实时读取,并传到kafka消息队列中去

问题描述:
source配置时,采用taildir 方式,但是不起作用,具体指定到子目录如/log/20170324/.*才起作用
但是生产上的日志目录是动态生成的,不可能写死目录

请问flume 使用什么方式能解决我现在的问题?
1.目录和文件动态变化
2.数据实时写入

或者是不是我配置错了? 谢谢 !

flume source配置如下:

agent.sources.s1.type = org.apache.flume.source.taildir.TaildirSource
agent.sources.s1.channels = c1
agent.sources.s1.positionFile = ./log/taildir_position.json
agent.sources.s1.filegroups = f1
agent.sources.s1.filegroups.f1 = /log/.*
agent.sources.s1.skipToEnd = true
agent.sources.s1.recursiveDirectorySearch = true
agent.sources.s1.yarnApplicationHeader = true
agent.sources.s1.yarnContainerHeader = true
agent.sources.s1.batchSize = 200

已有(2)人评论

跳转到指定楼层
qcbb001 发表于 2017-3-24 14:35:10
这个功能flume1.7已经实现了,要么楼主修改源码也可以实现。
更多可参考下面内容
Flume TaildirSource如何实现递归动态目录
http://www.aboutyun.com/forum.php?mod=viewthread&tid=21349


回复

使用道具 举报

J20_果农 发表于 2017-3-26 21:06:05
qcbb001 发表于 2017-3-24 14:35
这个功能flume1.7已经实现了,要么楼主修改源码也可以实现。
更多可参考下面内容
Flume TaildirSource如 ...

我就是按照这篇文章做的, 但是实际操作起来,flume1.7还是没法实现递归子目录监听实时变化的文件
它只能在固定目录下,监听下面文件的实时变化,不过这已经有很大的改进了,比execsource要强

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条