ex : flume 框架是由 source (数据源)+channel(缓存--memorychannel)+sink(数据目的地) 组成的一个代理中间件(agent)
1:加压缩flume安装包到服务器(1.6)
2:配置JAVA_HOME环境变量
查看服务器的java_home: echo $JAVA_HOME 打印查看路径
3:复制flume-env.sh文件
cp flume-env.sh.template flume-env.sh
4:修改flume-env.sh配置文件(vim flume-env.sh)
export JAVA_HOME=/usr/java/jdk1.7.0_60
5:保存退出
6: 在flume文件夹下新建一个myagent文件夹
mkdir myagent
7:在文件下创建一个a3文件
vim a3.conf
把下面的配置信息添加进去
ps:a3.sources.r1.spooDir=/path/flumelogs 需要创建/path/flumelogs 文件夹
8:启动flume
bin/flume-ng agent -n a3 -f myagent/a3.conf -c conf -Dflume.root.logger=INFO,console
========================================使用时配置信息==============
#bin/flume-ng agent -n a3 -f myagent/a3.conf -c conf -Dflume.root.logger=INFO,console
#定义agent:source,channel,sink
a3.sources=r1
a3.channels=c1
a3.sinks=k1
#定义source
###############对path文件夹新增的文件监控,禁止修改
a3.sources.r1.type=spooldir
a3.sources.r1.spoolDir=/path/flumelogs
###############对flumelogs文件监控,基于tail -f 脚本
a3.sources.r1.type = exec a1.sources.r1.command = tail -F /path/flumelogs
# 定义channel
a3.channels.c1.type=memory
a3.channels.c1.capacity=1000
a3.channels.c1.transactionCapacity=100
# 定义sink
a3.sinks.k1.type=logger
#组装 source,channels,sink
a3.sources.r1.channels=c1
a3.sinks.k1.channel=c1