flume是日志收集系统。cloudera开源给apache的开源软件,主要用于收集app和web等的软件产生的日志文件,写入数据总线如kafka,再从kafka中把数据分发到storm,hdfs,es等多种目的地。用于多种需求。flume 1.x后的版本叫flume-NG,之前的OG,NG重构了OG的代码和架构。此系列记录的是NG。
flume提供两种功能,1:收集日志。2分发日志。
flume提供两种功能,1:收集日志。2分发日志。
针对这两个功能,分析flume的组件:
1:flume source:用于收集日志等数据源,并且默认提供了多个实现了。
2:flume sink:分发日志到各种外部存储中。并且默认提供了多个实现了。
3:flume channel:为source收集的数据提供个暂存的空间,缓冲作用。有多个实现。
Flume在storm中的作用
app,web等多种日志文件数据源 --》flume --》kafka --》 storm --》 hbase。
Flume在hive中的作用
app,web等多种日志文件数据源 --》flume --》kafka --》 flume--》 hdfs --》hive。
app,web等多种日志文件数据源 --》flume --》kafka --》 storm --》 hbase。
Flume在es中的作用
app,web等多种日志文件数据源 --》flume --》kafka --》 flume--》 es 。
从kafka数据总线开始,做三个消费者,一个走storm,一个走hive,一个走es搜索。
可见flume在大数据系统中起到了收集日志文件,分发消息流的作用。因此要弄好后面几个系统,整好flume是有必要的。
app,web等多种日志文件数据源 --》flume --》kafka --》 storm --》 hbase。
Flume在hive中的作用
app,web等多种日志文件数据源 --》flume --》kafka --》 flume--》 hdfs --》hive。
app,web等多种日志文件数据源 --》flume --》kafka --》 flume--》 hdfs --》hive。