分享

flume按日期分目录存储和自定义日志的文件名

semion 2014-9-9 19:35:53 发表于 疑问解答 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 21 105148
flume 怎么可以自定义分目录存储和自定义日志文件名,目前使用的是直接存储文件的形式

已有(21)人评论

跳转到指定楼层
howtodown 发表于 2014-9-9 19:48:42
这些都可以通过Linux脚本实现。
目前flume还没有发现有这样的功能。
二次开发一般是定义数据源,像你这种Linux脚本完成的事情,flume一般不会干。
具体你了解一下官网flume的二次开发
http://flume.apache.org/FlumeDeveloperGuide.html
回复

使用道具 举报

pig2 发表于 2014-9-9 20:02:17
一步步来,先自己搭建个环境,有个感性认识就不会产生这样的问题了。如何搭建,可以参考下面的内容。让你快速认识flume及安装和使用flume1.5传输数据(日志)到hadoop2.2
思路可以是这样:
首先日志会产生文件,上传的过程中,使用shell脚本判断。如果有这个日期目录,就不用创建了,如果没有日期目录就自己创建一个。
比如目录为201409,创建完毕,然后把日志目录中的文件,上传到flume的监控目录201409。如果到了10月,脚本同样是这样。如果发现201410,没有这个目录,然后脚本创建,同样在将2014年十月产生的日志,都上传到201410这个文件夹。

回复

使用道具 举报

pig2 发表于 2014-9-9 20:03:22
说了这么多,如果你还是不明白,说明你的基础需要稳固,先对知识积累,想法多是好事,但不是建立在知识的基础上的想法,这是最忌讳的。
回复

使用道具 举报

anyhuayong 发表于 2014-9-10 08:49:51
看回复也是一个学习的途径
回复

使用道具 举报

linhai1023 发表于 2014-9-10 09:45:01
回复

使用道具 举报

shadowhtx 发表于 2014-9-10 12:30:41
问题有点含糊。
如果是log4j生成的日志可以设置按时间生成日志,spool方式设置过滤规则,一有新日志生成就可以得到传送。日志和监控目录可以在一个路径下。
回复

使用道具 举报

desehawk 发表于 2014-9-10 18:34:49
shadowhtx 发表于 2014-9-10 12:30
问题有点含糊。
如果是log4j生成的日志可以设置按时间生成日志,spool方式设置过滤规则,一有新日志生成就 ...
你们是这样做的吗?
如果这样的话,会不会产生大量的小文件。
公司采用这样的方式可能性不大。
并且还需要看这个日志生成方式。如果先生成文件,后被写入监控目录,这是可以的。但是如果先有文件,后面追加。应该会出错。
回复

使用道具 举报

shadowhtx 发表于 2014-9-11 10:40:10
desehawk 发表于 2014-9-10 18:34
你们是这样做的吗?
如果这样的话,会不会产生大量的小文件。
公司采用这样的方式可能性不大。

不是的,如果是实时追加日志就不一样了。spooldir的实时应该是针对目录中的文件,一有新文件就传送过去。
如果日志是实时追加还要得到实时的传送到服务器,而且包括log4j日志和非log4j日志,这种情况就要自己写个source插件。我也是这么做的。
回复

使用道具 举报

304974525@qq.co 发表于 2014-12-23 10:17:14
howtodown 发表于 2014-9-9 19:48
这些都可以通过Linux脚本实现。
目前flume还没有发现有这样的功能。
二次开发一般是定义数据源,像你这 ...

请教个问题,在flume的二次开发过程中,我怎么调试我的代码呢,flume可以在本地进行调试吗?
回复

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条