美文网首页
Flume从入门到精通3:Flume实战之采集网络数据并显示在屏

Flume从入门到精通3:Flume实战之采集网络数据并显示在屏

作者: 金字塔下的小蜗牛 | 来源:发表于2020-04-03 09:00 被阅读0次

案例:采集netcat服务器发出的数据,并打印在屏幕上。

1.定义Agent配置文件

由Flume的体系结构可知,Agent = Source + Chanel + Sink,所以定义Agent的配置信息,就是定义这三个组件的具体实现方式。

创建一个目录myagent用于存放Agent配置文件:

# mkdir /root/trainings/apache-flume-1.8.0-bin/myagent

定义一个Agent的配置文件a2.conf:

# vim /root/trainings/apache-flume-1.8.0-bin/myagent/a2.conf

内容如下:

# bin/flume-ng agent -n a2 -f myagent/a2.conf -c conf -Dflume.root.logger=INFO,console
#定义agent名, source、channel、sink的名称
a2.sources = r1
a2.channels = c1
a2.sinks = k1
#具体定义source
a2.sources.r1.type = netcat
a2.sources.r1.bind = localhost
a2.sources.r1.port = 9999
#具体定义channel
a2.channels.c1.type = memory
a2.channels.c1.capacity = 10000
a2.channels.c1.transactionCapacity = 100
#具体定义sink
a2.sinks.k1.type = logger
#组装source、channel、sink
a2.sources.r1.channels = c1
a2.sinks.k1.channel = c1</pre>

2.启动Flume

# cd /root/trainings/apache-flume-1.8.0-bin/
# bin/flume-ng agent -n a2 -f myagent/a2.conf -c conf -Dflume.root.logger=INFO,console</pre>

参数agent 的选项说明:

  • -n 指定agent的名字
  • -f 指定agent配置文件
  • -c 指定flume配置文件的目录
  • -Dflume.root.logger=INFO,console 将INFO级别以上的日志显示在控制台</pre>

3.启动netcat

打开一个新的终端,安装netcat服务器:

# yum -y install nmap-ncat

启动netcat服务器,并开始发送数据:

# nc 127.0.0.1 9999
I love Beijing
I love China
Beijing is the capital of China

4.观察Flume采集到数据

在Flume的窗口中会打印出采集到数据:

image

注意:我们发送的三句话,flume只完整采集了前面两句,第三句话只截取了前16个字符:即Flume消息Event的body默认最大长度为16个字节。

相关文章

网友评论

      本文标题:Flume从入门到精通3:Flume实战之采集网络数据并显示在屏

      本文链接:https://www.haomeiwen.com/subject/kudkdhtx.html