1. 问题引出
`TAILDIR`方式按照配置 `a1.sources.r1.positionFile`的文件 `/usr/local/flume-1.9.0/dokshare/taildir/tail_dir.json`,创建和存储监听的文件信息:
{
"inode": 83991289,
"pos": 33,
"file": "/usr/local/flume-1.9.0/taildir/files/file1.txt"
}
按照 inode
和 file
来确定文件的唯一性。
因此,引出问题:“一般的日志系统中,都会在第二天自动创建新文件,并把昨日的文件重命名一个后缀”。 那么这时候按照 TAILDIR
的监控原理,就会判定为新文件,而进行整个文件的内容的再次写入,造成数据重复。
解决这个问题,需要通过修改源码来实现。