Flume使用案例

先用一个最简单的例子来测试一下程序环境是否正常

1、 先在flume的conf目录下新建一个文件

vi netcat-logger.conf

#定义这个agent中各组件的名字

a1.sources = r1

a1.sinks = k1

a1.channels = c1

# 描述和配置source组件:r1

a1.sources.r1.type = netcat

a1.sources.r1.bind = localhost

a1.sources.r1.port = 44444

# 描述和配置sink组件:k1

a1.sinks.k1.type = logger

# 描述和配置channel组件,此处使用是内存缓存的方式

a1.channels.c1.type = memory

a1.channels.c1.capacity = 1000 内存里面存放1000个事件

a1.channels.c1.transactionCapacity = 100

# 描述和配置source  channel   sink之间的连接关系

a1.sources.r1.channels = c1

a1.sinks.k1.channel = c1

2、 启动agent去采集数据

bin/flume-ng agent -c conf -f conf/netcat-logger.conf -n a1  -Dflume.root.logger=INFO,console

-c conf   指定flume自身的配置文件所在目录

-f conf/netcat-logger.con  指定我们所描述的采集方案

-n a1  指定我们这个agent的名字

-Dflume.root.logger=INFO,console 运行日志输出到控制台,那么把该条删除就可以按照log4j的配置输出到对应日志文件中,如果没有输出到对应日志文件,那么看下flume的lib包中是否含有log4j的依赖jar包

3、 测试

启动nc的客户端

​​​$>nc localhost 44444

$nc>hello world

​在flume的终端输出hello world.

先要往agent采集监听的端口上发送数据,让agent有数据可采

随便在一个能跟agent节点联网的机器上

4、 补充安装nc

$>sudo yum install nmap-ncat.x86_64

清除仓库缓存

​$>修改ali.repo --> ali.repo.bak文件。

​$>sudo yum clean all

​$>sudo yum makecache

​#例如阿里基本源 $>sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

​#阿里epel源

​$>sudo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

猜你喜欢

转载自blog.csdn.net/weixin_34204057/article/details/87617826
今日推荐