Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data. It has a simple and flexible architecture based on streaming data flows. It is robust and fault tolerant with tunable reliability mechanisms and many failover and recovery mechanisms. It uses a simple extensible data model that allows for online analytic application.
简单讲:Flume是一个高可用,高可靠,分布式的海量日志采集、聚合和传输的系统,能够有效的收集、聚合、移 动大量的日志数据。
Flume优点:不需要写代码,只需要配置即可
上图就是Flume典型场景
左边的web server表示是一个web项目,web项目会产生日志数据,通过中间的Agent把日志数据采集到 HDFS中。 其中这个Agent就是我们使用Flume启动的一个代理,它是一个持续传输数据的服务,数据在Agent内部 的这些组件之间传输的基本单位是Event 从图中可以看到,Agent是由Source、Channel、Sink这三大组件组成的,这就是Flume中的三大核心组 件, 其中source是数据源,负责读取数据 channel是临时存储数据的,source会把读取到的数据临时存储到channel中 sink是负责从channel中读取数据的,最终将数据写出去,写到指定的目的地中。