Flume是一个分布式的、可靠的日志收集、聚合、传输系统,简单来说就是将文件从A地点移动到B地点。
Flume可以收集包含文件、Socket数据包等各种形式的数据,并且能够存储到HDFS、Hbase、Hive等。
因此Flume的最大特点是具有很高的兼容性和自定义扩展能力。
其核心为Agent,包含三个组件,Source、Sink等
- Source:采集源,用于同数据源对接
- Channel通道,用于内部的数据传输,从Source到Sink
- Sink目标池,采集数据传输的目的地。
Kafka为啥要跟Flume共用
线上的服务很难直接去修改接口,也就是很难从一个服务将数据或者日志送入kafka,因此通过Flume作为数据通道进行对接
也就是Flume用于服务和Kafka对接,从而搭建日志采集系统。flume在企业里一般都是数据采集,然后落地动作。比如flume采集nginx日志,然后写入kafka,然后再用flume消费kafka数据,入hdfs。