环境:jdk1.7,centos,CDH5.2
1,下载apache-flume-1.5.0.1-bin.tar.gz
2,tar -zxvf apache-flume-1.5.0.1-bin.tar.gz
3,vim /home/lixun/apache-flume-1.5.0.1-bin/conf/flume-env.sh
添加jdk的home:
4,验证是否安装成功:
以上信息则通过。
5,在/home/lixun/apache-flume-1.5.0.1-bin/conf目录下添加example.conf文件,内容如下
agent1.sources=source1
agent1.sinks=sink1
agent1.channels=channel1
# configure source1
agent1.sources.source1.type=spooldir
<span style="color:#FF6666;">agent1.sources.source1.spoolDir=/home/lixun/flumelog</span>
agent1.sources.source1.channels=channel1
agent1.sources.source1.fileHeader = false
# configure sink1
agent1.sinks.sink1.type=hdfs
<span style="color:#FF6666;">agent1.sinks.sink1.hdfs.path=hdfs://datanode3:8020/flumelog</span>
agent1.sinks.sink1.hdfs.fileType=DataStream
agent1.sinks.sink1.hdfs.writeFormat=TEXT
agent1.sinks.sink1.hdfs.rollInterval=4
agent1.sinks.sink1.channel=channel1
# configure channel1
agent1.channels.channel1.type=file
<span style="color:#FF6666;">agent1.channels.channel1.checkpointDir=/home/lixun/flumelog/checkpointdir/example_aget1
agent1.channels.channel1.dataDirs=/home/lixun/flumelog/datadirs/example_agent1
~</span>
6,启动flume:
./bin/flume-ng agent -c conf/ -f conf/example.conf -n agent1 -Dflume.root.logger=INFO,console
以下信息是说明在采集:因为的flumelog目录里有有日志了,
当出现:org.apache.flume.source.SpoolDirectorySource$SpoolDirectoryRunnable.run(SpoolDirectorySource.java:254)]Spooling Directory Source runner has shutdown.
这样信息就是说明flumelog里面没有采集的文件,你可以手动复制点文件到flumelog目录中,
在flumelog目录下会生成
当出现以下信息hadoop fs -ls /flumelog
说明日志已经成采集到hdfs上
参考:http://www.aboutyun.com/thread-8917-1-1.html