【flume】flume的部署及案例

一、部署flume

flume的安装非常简单

1、上传安装包到数据源所在的节点上
2、解压安装包到数据源所在的节点上

然后 tar -zxvf apache-flume-1.6.0-bin.tar.gz
在这里插入图片描述

3、修改conf下的flume-env.sh

然后进入flume目录里面的conf,修改conf下的flume-env.sh,在里面配置JAVA_HOME
在这里插入图片描述

 export JAVA_HOME=/export/servers/jdk1.8.0_141
4、添加环境变量
Vim /etc/profile

在这里插入图片描述

export FLUME_HOME=/export/servers/apache-flume-1.6.0-bin
export PATH=:$FLUME_HOME/bin:$PATH

更新下环境变量,保证其生效

source /etc/profile

5、查看版本
在这里插入图片描述

flume-ng version

二、flume监测类型—netcat-logger.conf

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

1、先在flume/conf下新建一个文件

vi netcat-logger.conf(从网络接口接收数据,下沉到logger)
通过监听指定的IP和端口来传输数据,它会将监听到的每一行数据转化成一个Event写入到Channel中
在这里插入图片描述

a1是agent的名字
#定义这个agent中各组件的名字
a1.sources = r1       #给source命名
a1.sinks = k1          #给sink命名
a1.channels = c1         #给channel命名

#描述和配置source组件:r1
a1.sources.r1.type = netcat         #source的类型是netcat
a1.sources.r1.bind = localhost        #source绑定的主机
a1.sources.r1.port = 44444       #端口号

#描述和配置sink组件:k1
a1.sinks.k1.type = logger      #sink的类型是杯子

#描述和配置channel组件,此处使用是内存缓存的方式
a1.channels.c1.type = memory         #channel的类型是内存型
a1.channels.c1.capacity = 1000        #channel能存储最大event(消息)的个数
a1.channels.c1.transactionCapacity = 100     #添加或移除event的数量,最多达到多少条必须提交事务

#描述和配置source  channel           #sink之间的连接关系
a1.sources.r1.channels = c1 
a1.sinks.k1.channel = c1 

这里是将三个组件连接起来

注意:一个source可以绑定多个channel,但是一个sink只能绑定一个Channel

2、启动命令
flume-ng agent -n a1 -c $FLUME_HOME/conf -f /export/servers/apache-flume-1.6.0-bin/conf/netcat-logger.conf -Dflume.root.logger=INFO,console

在这里插入图片描述
-n a1: 指定这个agent的名字
-c $FLUME_HOME/conf: 指定flume自身的配置文件所在的目录
-f /export/servers/apache-flume-1.6.0-bin/conf/netcat-logger.conf: 指定我们所描述的采集方案
-Dflume.root.logger=INFO,console: 可以不加,但是是为了方便我们观察输出到info日志到控制台

3、传输数据

可以复制一个窗口,然后telnet一下,往agent采集监听的端口上发送数据,让agent有数据可采

Telenet localhost 44444

在这里插入图片描述
然后输入hello
在这里插入图片描述
可以看到flume采集了

三、flume监测类型—spooldir-hdfs.conf

这是个监控目录的日志采集

1、文件配置
vim spooldir-hdfs.conf 

在这里插入图片描述
在这里插入图片描述

2、启动命令
flume-ng agent -n a1 -c $FLUME_HOME/conf -f /export/servers/apache-flume-1.6.0/bin/conf/spooldir-hdfs.conf -Dflume.root.logger=INFO,console

在这里插入图片描述

3、测试

往/root/logs里添加文件(这是我们在spooldir文件里面配置的)
在这里插入图片描述
我们可以看到控制台有日志信息生成
在这里插入图片描述
然后我们可以看一下hdfs上flume目录(这也是我们配置spooldir文件里面配置的)
在这里插入图片描述

在这里插入图片描述

发布了10 篇原创文章 · 获赞 16 · 访问量 2687

猜你喜欢

转载自blog.csdn.net/weixin_45783164/article/details/104680068