目录
#--------4 flune的拓扑结构 (avro源和avro槽是关键)
#--------1 使用思路
0 还是得查官方网站最有用!! https://flume.apache.org/releases/content/1.9.0/FlumeUserGuide.html
1 想好用什么源source
2 使用什么通道channel
3 采集的目的地sink
4 编写好conf文件放在指定目录下
5 使用命令进行实现,命令格式:
/root/flume/bin/flume-ng agent -n agent的名字 -c /root/flume/conf/ -f job/对应conf文件名
#--------2 组件的选型
#============source
《注意:由于后续版本的更新推出的Taildir source功能过于强大所以基本不会使用Exec和Spooldir 》
适用面 source 优点/缺点
>监听端口发送的信息 netcat 监听端口数据
例如
a2.sources.r1.type = netcat
a2.sources.r1.bind = node01
a2.sources.r1.port = 44444
>监控本地单个文件上传(以命令的形式) Exec 缺点:不能断电续传
例如
a1.sources.r1.type = exec
#linux命令tail -F监听一个文件(不能监听一个文件夹)
a1.sources.r1.command = tail -F /root/hive-3.1.2/logs/root/hive.log
a1.sources.r1.shell = /bin/bash -c
>监控单目录中新文件的上传 Spooldir 缺点:不能动态追加
例如
a3.sources.r3.type = spooldir
#监听的文件夹
a3.sources.r3.spoolDir = /root/flume/upload
#给上传之后的文件加上的后缀
a3.sources.r3.fileSuffix = .COMPLETED
a3.sources.r3.fileHeader = true
#忽略所有以.tmp 结尾的文件,不上传
a3.sources.r3.ignorePattern = ([^ ]*\.tmp)
>监控多目录多文件(可以追加) Taildir 优点:既能断电续传也能动态追加
缺点:文件改名之后会重复上传,例如hive.log第二天
会更名为hive.log.2022-01-09这样第二天更名之后的文
件又会被上传一次(可以通过修改源码的方式改进)
例如
a3.sources.r3.type = TAILDIR
#存放标记文件的位置
a3.sources.r3.positionFile = /root/flume/tail_dir.json
#监听的文件组
a3.sour