**
Flume
**
Flume是一个分布式、可靠和高可用的海量日志采集、聚合和传输的系统。
Flume分布式系统中最核心的角色是agent,内部有三个组件:
Source:采集组件,用于跟数据源对接,以获取数据。
Sink:下沉组件,用于往下一级agent传递数据或者往最终存储系统传递数据。
Channel:传输通道组件,用于从source将数据传递到sink.
配置文件
#定义agent中各组件的名字
a1.sources=r1
a1.sinks=k1
a1.channels=c1
#描述和配置source组件:r1
a1.sources.r1.type=netcat
a1.sources.r1.bind=192.168.72.143
a1.sources.r1.port=44444
#描述和配置sink组件:k1
a1.sinks.k1.type=logger
#描述和配置channel组件,此处使用是内存缓存的方式
a1.channels.c1.type=memory
a1.channels.c1.capacity=1000
a1.channels.c1.transactionCapacity=100
#描述和配置source channel sink之间的连接关系
a1.sources.r1.channels=c1
a1.sinks.k1.channel=c1
linux中启动agent去采集数据命令
bin/flume-ng agent -c conf -f conf/netcat-logger.conf -n a1 -Dflume.root.logger=INFO,console
-c conf 指定flume自身的配置文件所在目录
-f conf/netcat-logger.conf 指定我们所描述的采集方案
-n al 指定我们这个agent的名字