【四】Flume使用:监控文件实时采集新增数据输出到控制台

agent选择:exec source + memory channel + logger sink

exec source 运行一个给定的unix命令

memory channel channel中的数据放在内存中

logger sink 最终把采集到的数据打印到控制台上

创建测试用的日志文件

mkdir /app/flume/testData

cd /app/flume/testData

touch testData.log

创建agent配置文件

cd /app/flume/flume/conf

vi test-exec.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
# 运行一个给定的Unix命令来采集数据
# 这里是从testData.log文件中采集数据
a1.sources.r1.type = exec
a1.sources.r1.command = tail -f /app/flume/testData/testData.log
a1.sources.r1.shell = /bin/sh -c


# Describe the sink
a1.sinks.k1.type = logger

# Use a channel which buffers events in memory
a1.channels.c1.type = memory


# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

运行

启动agent

cd /app/flume/flume

bin/flume-ng agent --name a1 -c conf -f conf/test-exec.conf -Dflume.root.logger=INFO,console

其中

 bin/flume-ng agent 启动agent

--name agent的名字

-c conf  指定flume的conf路径

-f 指定要启动的agent的配置文件

-Dflume.root.logger=INFO,console 把日志信息打印到控制台

往监控的文件中添加内容

cd /app/flume/testData

echo hello exce >> testData.log

查看启动的agent的控制台信息


你可能感兴趣的:(flume)