【三】Flume的使用:从指定的网络端口采集数据输出到控制台

官网介绍

官网配置介绍

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 把信息打印到控制台

【三】Flume的使用:从指定的网络端口采集数据输出到控制台_第1张图片

根据配置这是监听node1:44444端口来的数据

我们往这个端口发数据测试一下

用telnet测试

telnet node1 44444

【三】Flume的使用:从指定的网络端口采集数据输出到控制台_第2张图片

输入测试数据

hello flume

【三】Flume的使用:从指定的网络端口采集数据输出到控制台_第3张图片

查看启动的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

你可能感兴趣的:(flume)