1.flume 介绍
收集、移动、聚合大量日志数据的服务。
基于流数据的架构,用于在线日志分析。
基于事件,每行是一个事件。
在生产和消费者之间启动协调作用。
提供了事务保证,确保消息一定被分发。
Source介绍
接受数据,类型有多种。
Channel
临时存放地,对Source中来的数据进行缓冲,直到sink消费掉。
Sink
从channel提取数据存放到中央化存储(hadoop / hbase),类型多种。
2.安装flume
- 依赖java环境
- 下载
- tar
- 环境变量
- 验证flume是否成功
$flume-ng version //next generation.下一代.
install_flume.sh shell文件
1 2 3 4 5 6 7 8 9
| mkdir -p /mnt/server/flume wget http://mirror.bit.edu.cn/apache/flume/1.8.0/apache-flume-1.8.0-bin.tar.gz tar -xzvf apache-flume-1.8.0-bin.tar.gz mv apache-flume-1.8.0-bin/* /mnt/server/flume rm -rf apache-flume-1.8.0-bin cat > /etc/profile.d/flume.sh << END FLUME_HOME="/mnt/server/flume" PATH=$PATH:/mnt/server/flume/bin END
|
flume-conf shell文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| a1.sources=r1 a1.sinks=avroSink a1.channels=c1
a1.sources.r1.type = taildir a1.sources.r1.positionFile = /*****/taildir_position.json a1.sources.r1.filegroups = f1 a1.sources.r1.filegroups.f1 = /******** a1.sources.r1.headers.f1.app = /******** a1.sources.r1.fileHeader = true a1.sources.r1.channels=c1
a1.channels.c1.type = memory a1.channels.c1.capacity=1000 a1.channels.c1.transactionCapacity = 100
a1.sinks.avroSink.type=avro a1.sinks.avroSink.channel=c1 a1.sinks.avroSink.hostname=101.201.143.100 a1.sinks.avroSink.port=44444
|
flume启动
flume-ng agent -c conf -f flume-conf -n a1 -Dflume.root.logger=INFO,console