首页 > 技术文章 > Flume源码更改

guoyu1 2019-12-11 14:28 原文

1、源码更改场景:如果使用 0.8 版本 Kafka 并配套 1.6 版本 Flume,由于 Flume 1.6 版本没有Taildir Source 组件,因此,需要将 Flume 1.7 中的 Taildir Source 组件源码编译打包后,放入Flume1.6 安装目录的 lib文件目录下。1.6想要移植1.7的Taildir Source功能。

而Taildir Source源码中,主要是利用  inode+文件名 来进行文件唯一性判定,一旦文件改名,TaildirSource会将它当成新文件重新读取,因此会导致数据的重复读取。

2、更改部分:更改ReliableTaildirSource.java类,对其中的updateTailFiles和loadPostionFile函数进行修改。

 

参考博客:https://blog.csdn.net/qq_28652401/article/details/84312322

 

推荐阅读