- Flume 是一个从可以收集例如日志,事件等数据资源,并将这些数量庞大的数据从各项数据资源中集中起来存储的工具/服务,或者数集中机制。flume的介绍请移步我的另外一个博客
http://blog.csdn.net/a5098726s/article/details/78657282
单节点搭建
- 为了方便测试和使用,这里采用flume单节点
- master节点
- apache-flume-1.7.0-bin.tar.gz
1、 解压压缩包到/usr/local/
tar -zxvf apache-flume-1.7.0-bin.tar.gz flume-1.7
mv flume-1.7 /usr/local/
2、配置环境变量
vim ~/.bashrc
#在期中添加flume的路径
export FLUME_HOME=/usr/local/flume-1.7
export FLUME_CONF_DIR=$FLUME_HOME/conf
#在path中添加FLUME_HOME路径
$FLUME_HOME/bin
配置完成后,记得source一下bashrc文件,让环境变量生效
3、配置flume-env.sh文件
cd /flume-1.7/conf
cp flume-env.sh.template flume-env.sh
#配置flume-env.sh文件
vim flume-env.sh
#在配置文件里增加jdk的路径
JAVA_HOME=/usr/local/jdk1.8.0_144
4、至此,flume单节点就安装成功了,测试一下吧
flume-ng version
测试成功!
这里进行一个简单的flume小案例测试
利用flume监视指定的端口(Netcat)
#在flume的conf文件下创建我们的netcat配置
cd /usr/local/flume-1.7/conf
vim netcat.conf
#在netcat.conf中进行相应的sink,channel,source的定义,这里主要是定义source
# name the components on this agent
a1.sources =r1
a1.sinks = k1
a1.channels = c1
# Describe /configure the source
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 1234
# Describe the sink
a1.sinks.k1.type = logger
a1.sinks.k1.maxBytesToLog = 1024
# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
# Bind the source and sink to thn channel
a1.sources.r1.channels = c1
a1.sinks.k1.channle = c1
保存退出,下面进行测试
启动flume agent a1服务器,指定为DEBUG模式
flume-ng agent -n a1 -c ../conf -f ../conf/netcat.conf -Dflume.root.logger=DEBUG,console
新开一个master xshell窗口,下载安装telnet
yum install telnet
用telnet 向另一个启动服务器的窗口发送数据
telnet localhost 1234
发送数据
flume接收
其他更多的例子,可以去网上或者官网查找。
有什么意见或者建议,请联系我,谢谢。