大数据 flume之Source

数仓学习中给自己总结一下:
主要接触了三种Source:Exec Source 、Spooling Directory Source和Taildir Source。

Exec Source

Exec Source可通过tail -f命令去tail住一个文件,然后实时同步日志到sink。
但存在的问题是,当agent进程挂掉重启后,会有重复消费的问题。

Spooling Directory Source

Spooling Directory Source可监听一个目录,同步目录中的新文件到sink,被同步完的文件可被立即删除或被打上标记。
适合用于同步新文件,但不适合对实时追加日志的文件进行监听并同步。
如果需要实时监听追加内容的文件,可对SpoolDirectorySource进行改进。

Taildir Source

Taildir Source可实时监控一批文件,并记录每个文件最新消费位置,agent进程重启后不会有重复消费的问题。
使用时建议用1.8.0版本的flume,1.8.0版本中解决了Taildir Source一个可能会丢数据的bug

Exec source 适用于监控一个实时追加的文件,但不能保证数据不丢失;Spooldir
Source 能够保证数据不丢失,且能够实现断点续传,但延迟较高,不能实时监控;而 Taildir
Source 既能够实现断点续传,又可以保证数据不丢失,还能够进行实时监控。

你可能感兴趣的:(大数据 flume之Source)