背景
需要实时采集到落到的日志文件数据,写入kafka,最后接入Storm实时计算,日志文件格式分为格两种形式
1、一个目录里多类型日志数据
/LOG/WWW.XXX.COM_YYYYMMDD.XX.log
/LOG/M.XXX.COM_YYYYMMDD.XX.log
/LOG/APP.XXX.COM_YYYYMMDD.XX.log
每种类型日志的文件写到一定大小,会产生一个新文件,新数据再往新文件写入
2、目录里嵌套多个目录
比如/DATA目录,有/DATA/BJ、/DATA/SH、/DATA/GZ等等
每个子目录里才是具体数据文件,同样文件写到一定大小,会产生一个新文件,新数据再往新文件写入
功能
1、针对以上场景提供一个通用功能,实时监听日志数据写入kafka
2、目录内切换产生新文件后,立即监听新文件
3、记录每次发出数据的位置,应用重启保障继续上次记录位置,保障数据不丢失不重复
源码
https://github.com/xmingyang/TailFileToKafka