版本号:
RedHat6.5 JDK1.8 apache-flume-1.6.0
1.apache-flume-1.6.0-bin.tar.gz 下载
官网下载地址:http://archive.apache.org/dist/flume/1.6.0/apache-flume-1.6.0-bin.tar.gz
百度云盘下载地址:链接:http://pan.baidu.com/s/1pKPah0f 密码:ovbe
2.安装
新建一个/usr/local/flume目录,上传apache-flume-1.6.0-bin.tar.gz,解压:
mkdir /usr/local/flume
tar -xvf /usr/local/flume/apache-flume-1.6.0-bin.tar.gz
如图:
3.配置 /etc/profile
sudo gedit /etc/profile
- #set flume environment
- export FLUME_HOME=/usr/local/flume/apache-flume-1.6.0-bin
- export FLUME_CONF_DIR=$FLUME_HOME/conf
- export PATH=$FLUME_HOME/bin:$PATH
source /etc/profile
4.配置flume JAVA_HOME
把flume-env.sh.template重命名为flume-env.sh,往里添加
cd /usr/local/flume/apache-flume-1.6.0-bin/conf
cp flume-env.sh.template flume-env.sh
sudo gedit flume-env.sh
- export JAVA_HOME=/usr/local/java/jdk1.8
检验
/usr/local/flume/apache-flume-1.6.0-bin/bin/flume-ng version
- [root@master conf]# /usr/local/flume/apache-flume-1.6.0-bin/bin/flume-ng version
- Flume 1.6.0
- Source code repository: https://git-wip-us.apache.org/repos/asf/flume.git
- Revision: 2561a23240a71ba20bf288c7c2cda88f443c2080
- Compiled by hshreedharan on Mon May 11 11:15:44 PDT 2015
- From source with checksum b29e416802ce9ece3269d34233baf43f
- [root@master conf]#
5. 简单测试示例
5.1 添加配置文件
- touch /usr/local/flume/apache-flume-1.6.0-bin/conf/flume.conf
- sudo gedit /usr/local/flume/apache-flume-1.6.0-bin/conf/flume.conf
- # 指定Agent的组件名称
- agent1.sources = source1
- agent1.sinks = sink1
- agent1.channels = channel1
- # 指定Flume source(要监听的路径)
- agent1.sources.source1.type = spooldir
- agent1.sources.source1.spoolDir= /usr/local/flume/logtest
- # 指定Flume sink
- agent1.sinks.sink1.type = logger
- # 指定Flume channel
- agent1.channels.channel1.type = memory
- agent1.channels.channel1.capacity = 1000
- agent1.channels.channel1.transactionCapacity = 100
- # 绑定source和sink到channel上
- agent1.sources.source1.channels = channel1
- agent1.sinks.sink1.channel = channel1
在/usr/local/flume目录下新建一个logtest目录:
mkdir /usr/local/flume/logtest
5.2 启动flume agent
- cd /usr/local/flume/apache-flume-1.6.0-bin
- bin/flume-ng agent --conf conf --conf-file conf/flume.conf --name agent1 -Dflume.root.logger=INFO,console
5.3 写入日志内容
- touch /usr/local/flume/testFlume.log
- sudo gedit /usr/local/flume/testFlume.log
- cp /usr/local/flume/testFlume.log /usr/local/flume/logtest
- 2017-07-07 21:15:59,063 (pool-3-thread-1) [INFO - org.apache.flume.client.avro.ReliableSpoolingFileEventReader.rollCurrentFile(ReliableSpoolingFileEventReader.java:348)] Preparing to move file /usr/local/flume/logtest/testFlume.log to /usr/local/flume/logtest/testFlume.log.COMPLETED
- 2017-07-07 21:16:00,841 (SinkRunner-PollingRunner-DefaultSinkProcessor) [INFO - org.apache.flume.sink.LoggerSink.process(LoggerSink.java:94)] Event: { headers:{} body: 48 65 6C 6C 6F 20 46 6C 75 6D 65 2E Hello Flume. }