码迷,mamicode.com
首页 > Web开发 > 详细

flume安装配置

时间:2018-08-19 23:20:48      阅读:299      评论:0      收藏:0      [点我收藏+]

标签:net   ogg   本地   port   javah   端口   数据   event   多个   

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安装配置

标签:net   ogg   本地   port   javah   端口   数据   event   多个   

原文地址:https://www.cnblogs.com/hollowcabbage/p/9503107.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!