flume安装配置
Posted hollowcabbage
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flume安装配置相关的知识,希望对你有一定的参考价值。
1 下载安装包并解压
下载地址:http://flume.apache.org/download.html
解压:tar zxvf apache-flume-1.8.0-bin.tar.gz
2 配置环境变量
vi ~/.bashrc
配置环境变量:
export FLUME_HOME=/hmaster/flume/apache-flume-1.8.0-bin
export FLUME_CONF_DIR=$FLUME_HOME/con
export PATH=$PATH:$FLUME_HOME/bin
让配置生效
source ..bashrc
配置flume-env.sh文件的JavaHome
export JAVA_HOME=/hmaster/javaenv/jdk1.8.0_181
3 Flume部署示例
1 Avro
在/hmaster/flume/apache-flume-1.8.0-bin/conf目录下新建netcat.conf配置文件
Flume可以通过Avro监听某个端口并捕获传输的数据,具体配置示例如下:
#那么我们也给这个三个组件分别取名字
a2.sources = r1
a2.channels = c1
a2.sinks = k1
#定义具体的source内容
#这里是执行命令以及下面对应的具体命令
#这个命令执行后的数据返回给这个source
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444
#定义具体的channel信息
#我们source定义好了,就要来定义我们的channel
a2.channels.c1.type = memory
a2.channels.c1.capacity = 10000
a2.channels.c1.transactionCapacity = 100
#定义具体的sink信息
#这个logger sink,就是将信息直接打印到控制台
#就是打印日志
a2.sinks.k1.type = logger
#最后来组装我们之前定义的channel和sink
a2.sources.r1.channels = c1
a2.sinks.k1.channel = c1
运行FlumeAgent,监听本机的44444端口
-n 后面对应agent名称
-c 配置文件目录
-f 配置文件地址
flume-ng agent -n a1 -c conf -f ../conf/netcat.conf
// 打开另一终端,通过telnet登录localhost的44444,输入测试数据
$ telnet localhost 44444
// 查看flume收集数据情况
2 Spool
1 配置spool.conf用于监控目录userlogs 的文件,将文件内容发送到本地60000端口
Spool用于监测配置的目录下新增的文件,并将文件中的数据读取出来。需要注意两点:拷贝到spool目录下的文件不可以再打开编辑、spool目录下不可包含相应的子目录。具体配置文件示例如下
#定义agent名称,source,channel,sink的名称
#a1就是我们给agent起的名字,我们知道有多个agent,那么我们就是通过这个来进行区别
#我们知道agent包含了三个重要的组件,有source,channel,sink
#那么我们也给这个三个组件分别取名字
a2.sources = r1
a2.channels = c1
a2.sinks = k1
#定义具体的source内容
#这里是执行命令以及下面对应的具体命令
#这个命令执行后的数据返回给这个source
a2.sources.r1.type = spooldir
a2.sources.r1.spoolDir = /home/hadoop/hadoop-2.9.0/userlogs
#定义具体的channel信息
#我们source定义好了,就要来定义我们的channel
a2.channels.c1.type = memory
a2.channels.c1.capacity = 10000
a2.channels.c1.transactionCapacity = 100
#定义具体的sink信息
#就是将数据转换成Avro Event 然后发送到配置的rpc端口上
a2.sinks.k1.type = avro
a2.sinks.k1.hostname= localhost
a2.sinks.k1.port= 60000
#最后来组装我们之前定义的channel和sink
a2.sources.r1.channels = c1
a2.sinks.k1.channel = c1
2 配置spool2.conf用于从本地60000端口获取数据并写入HDFS
#定义agent名称,source,channel,sink的名称
a3.sources = r1
a3.channels = c1
a3.sinks = k1
#定义具体的source内容
a3.sources.r1.type= avro
a3.sources.r1.bind= localhost
a3.sources.r1.port= 60000
#定义具体的channel信息
#我们source定义好了,就要来定义我们的channel
a3.channels.c1.type = memory
a3.channels.c1.capacity = 10000
a3.channels.c1.transactionCapacity = 100
#定义具体的sink信息
a3.sinks.k1.type = hdfs
a3.sinks.k1.hdfs.path = hdfs://192.168.79.2:9000/flume/event2
a3.sinks.k1.hdfs.filePrefix = events-
a3.sinks.k1.hdfs.fileType = DataStream
#最后来组装我们之前定义的channel和sink
a3.sources.r1.channels = c1
a3.sinks.k1.channel = c1
以上是关于flume安装配置的主要内容,如果未能解决你的问题,请参考以下文章