Exec source 适用于监控一个实时追加的文件,不能实现断点续传;Spooldir Source 适合用于同步新文件,但不适合对实时追加日志的文件进行监听并同步;而 Taildir Source 适合用于监听多个实时追加的文件,并且能够实现断点续传。
1)案例需求:使用 Flume
监听整个目录的实时追加文件,并上传至 HDFS
2)需求分析:

3)实现步骤:
(1)创建配置文件 flume-taildir-hdfs.conf
创建一个文件
[root@hadoop100 job]$ vim flume-taildir-hdfs.conf
添加如下内容
a3.sources = r3
a3.sinks = k3
a3.channels = c3
# Describe/configure the source
a3.sources.r3.type = TAILDIR
a3.sources.r3.positionFile = /opt/module/flume/tail_dir.json
a3.sources.r3.filegroups = f1 f2
a3.sources.r3.filegroups.f1 = /opt/module/flume/files/.*file.*
a3.sources.r3.filegroups.f2 = /opt/module/flume/files2/.*log.*
# Describe the sink

本文介绍了如何使用Flume的TaildirSource监控实时追加文件,并同步至HDFS。讨论了positionFile在断点续传中的作用,以及在文件重命名(如Hive.log更名)时可能遇到的上传问题及其解决方案。
最低0.47元/天 解锁文章
1328

被折叠的 条评论
为什么被折叠?



