Flume-Taildir

Flume1.7.0加入了taildirSource作为agent的source。可以说是 Spooling Directory Source + Exec Source 的结合体。可以监控多个目录,并且使用正则表达式匹配该目录中的文件名进行实时收集。实时监控一批文件,并记录每个文件最新消费位置,agent进程重启后不会有重复消费的问题。

Exec source:适用于监控一个实时追加的文件,但不能保证数据不丢失

Spooldir Source:能够保证数据不丢失,且能够实现断点续传,但延迟较高,不能实时监控

Taildir Source:既能够实现断点续传,又可以保证数据不丢失,还能够进行实时监控

官方文档:https://flume.apache.org/FlumeUserGuide.html#taildir-source

Taildir Source 维护了一个 Json 格式的 Position File,其会定期的往 Position File 中更新每个文件读取到的最新的位置,因此能够实现断点续传。

[
  {"inode":1717446,"pos":8,"file":"/tmp/upload/456.txt.COMPLETED"},
  {"inode":1717449,"pos":8,"file":"/tmp/upload/789.txt.COMPLETED"},
  {"inode":1717442,"pos":12,"file":"/tmp/upload/123.txt.COMPLETED"}
]

猜你喜欢

转载自www.cnblogs.com/wjoyxt/p/11883790.html