Flume实战案例 -- 从网卡某个端口采集数据到控制台
-
需求:配置我们的网络收集的配置文件;从某socket端口采集数据,采集到的数据打印到console控制台
-
在flume的conf目录下新建一个配置文件(采集方案)
cd /bigdata/install/flume-1.9.0/conf vim netcat-logger.conf
-
内容如下
# 定义这个agent中各组件的名字 a1.sources = r1 a1.sinks = k1 a1.channels = c1 # 描述和配置source组件:r1 a1.sources.r1.type = netcat # 当前节点的ip地址 a1.sources.r1.bind = hadoop03 a1.sources.r1.port = 44444 # 描述和配置sink组件:k1 a1.sinks.k1.type = logger # 描述和配置channel组件,此处使用是内存缓存的方式 a1.channels.c1.type = memory # channel中存储的event的最大个数 a1.channels.c1.capacity = 1000 # channel每次从source获得的event最多个数或一次发往sink的event最多个数 a1.channels.c1.transactionCapacity = 100 # 描述和配置source channel sink之间的连接关系 a1.sources.r1.channels = c1 a1.sinks.k1.channel = c1
对应类型组件的官网文档
第三步:启动配置文件
-
指定采集方案配置文件,在相应的节点上启动flume agent
-
先用一个最简单的例子来测试一下程序环境是否正常
-
启动agent去采集数据
bin/flume-ng agent -c conf -f conf/netcat-logger.conf -n a1 -Dflume.root.logger=INFO,console
-c conf 指定flume自身的conf目录中的配置文件
-f conf/netcat-logger.con 指定我们所描述的采集方案
-n a1 指定我们这个agent的名字
-Dflume.root.logger=INFO,console 将info级别的日志打印到控制台
第四步:安装telent准备测试
-
在hadoop02机器上面安装telnet客户端,用于模拟数据的发送
sudo yum -y install telnet telnet hadoop03 44444 # 使用telnet模拟数据发送
-
具体结果如下图所示