案例:采集目录下文件信息并显示在屏幕上。
1.定义Agent配置文件
由Flume的体系结构可知,Agent = Source + Chanel + Sink,所以定义Agent的配置信息,就是定义这三个组件的具体实现方式。
创建一个目录myagent用于存放Agent配置文件:
# mkdir /root/trainings/apache-flume-1.8.0-bin/myagent
定义一个Agent的配置文件a4.conf:
# vim /root/trainings/apache-flume-1.8.0-bin/myagent/a4.conf
内容如下:
# bin/flume-ng agent -n a4 -f myagent/a4.conf -c conf -Dflume.root.logger=INFO,console
#定义agent名, source、channel、sink的名称
a4.sources = r1
a4.channels = c1
a4.sinks = k1
#具体定义source
a4.sources.r1.type = spooldir
a4.sources.r1.spoolDir = /root/trainings/logs
#具体定义channel
a4.channels.c1.type = memory
a4.channels.c1.capacity = 10000
a4.channels.c1.transactionCapacity = 100
#具体定义sink
a4.sinks.k1.type = logger
#组装source、channel、sink
a4.sources.r1.channels = c1
a4.sinks.k1.channel = c1</pre>
2.启动Flume
# cd /root/trainings/apache-flume-1.8.0-bin/
# bin/flume-ng agent -n a4 -f myagent/a4.conf -c conf -Dflume.root.logger=INFO,console
参数agent 的选项说明:
- -n 指定agent的名字
- -f 指定agent配置文件
- -c 指定flume配置文件的目录
- -Dflume.root.logger=INFO,console 将INFO级别以上的日志显示在控制台
3.向目录下拷贝文件
打开一个新的终端,向监控目录下拷贝文件:
# cp /root/trainings/apache-flume-1.8.0-bin/myagent/* /root/trainings/logs
4.观察Flume采集到数据
在Flume的窗口中会打印出采集到数据:
image
网友评论