官网配置介绍
agent选择:netcat source + memory channel + logger sink
创建agent配置文件
目录和名字可以随意
cd /app/flume/flume/conf
vi test-netcat.conf
# example.conf: A single-node Flume configuration
# Name the components on this agent
# a1是agent的名称
# r1是source的名称
# k1是sink的名称
# c1是channel的名称
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# Describe/configure the source
# 配置source
# tpye有很多种,在官网看。netcat source会监听一个端口,把每一行的数据转换成一个event(flume中数据传输的一个单元)
#
a1.sources.r1.type = netcat
a1.sources.r1.bind = node1
a1.sources.r1.port = 44444
# Describe the sink
#logger类型的sinks是日志的event信息通过Info级别输出,数据由控制台输出
a1.sinks.k1.type = logger
# Use a channel which buffers events in memory
#event会被存在内存队列里面,依据配置的大小 。
a1.channels.c1.type = memory
# Bind the source and sink to the channel
#指定sources.r1对应channel.c1
#指定sinks.k1对应channel.c1
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
启动agent
bin/flume-ng agent --name a1 -c conf -f conf/test-netcat.conf -Dflume.root.logger=INFO,console
其中
bin/flume-ng agent 启动agent
--name agent的名字
--conf conf 指定flume的conf路径
-f 指定要启动的agent的配置文件
-Dflume.root.logger=INFO,console 把信息打印到控制台
根据配置这是监听node1:44444端口来的数据
我们往这个端口发数据测试一下
用telnet测试
telnet node1 44444
输入测试数据
hello flume
查看启动的agent
Event: { headers:{} body: 68 65 6C 6C 6F 20 66 6C 75 6D 65 0D hello flume. }
event是flume里面数据传输的基本单元
event = (可选)header + byte array
可以理解为一条记录就是一个event