flume的安装与使用

1.flume 介绍


收集、移动、聚合大量日志数据的服务。
基于流数据的架构,用于在线日志分析。
基于事件,每行是一个事件。
在生产和消费者之间启动协调作用。
提供了事务保证,确保消息一定被分发。

Source介绍

接受数据,类型有多种。

Channel

临时存放地,对Source中来的数据进行缓冲,直到sink消费掉。

Sink

从channel提取数据存放到中央化存储(hadoop / hbase),类型多种。

2.安装flume


  1. 依赖java环境
  2. 下载
  3. tar
  4. 环境变量
  5. 验证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