初识flume

一、flume架构

一个flume实例由以下三大组件组成:

source:指定数据源收集数据

channel:指定数据传输通道(介质)聚集数据

sink:数据输出到指定存储目标

二、flume安装

1、首先安装jdk

2、到http://archive-primary.cloudera.com/cdh5/cdh/5/下载:flume-ng-1.6.0-cdh5.7.0.tar.gz

3、解压

4、配置环境变量如下,并使之生效

5、进入flume下的conf文件夹,复制文件flume-env.sh.template为flume-env.sh

6、配置flume-env.sh

三、使用flume

1、从指定网络端口采集数据输出到控制台

启动agent:

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

-n:实例名

-c:配置文件路径

-f:配置文件名称

-Dflume.root.logger:指定输出到控制台

通过telnet进行验证(注意:配置文件中a1.sources.r1.bind=localhost,则只能在本机用telnet进行验证,要远程验证需改成真实ip)

效果如下:

2、监控一个文件实时采集新增的数据输出到控制台

在配置文件中修改source部分即可:

# Describe/configure the source
a1.sources.r1.type = exec
a1.sources.r1.command = tail -F /home/hadoop/data/data.log
a1.sources.r1.shell = /bin/sh -c

 3、A服务器上的日志实时采集到B服务器上

源服务器上的agent采用avro的sink,目标服务器上的agent采用avro source,对应修改的部分如下:

 # Describe/configure the source
a2.sources.r2.type = avro
a2.sources.r2.bind = 192.168.199.151
a2.sources.r2.port = 44444

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

a1.sinks.k1.hostname= 192.168.199.151

a1.sinks.k1.port=44444

注意:接收数据的agen需先启动

总结:

flume一般只需通过配置文件进行配置,主要配置source,channel,sink,以及三者之间的对应关系

 

posted @ 2018-07-25 23:36  zhwyxuhui  阅读(157)  评论(0编辑  收藏  举报