Flume原理简单部分解析

  • Post author:
  • Post category:其他




1.Flume简介


Flume是Cloudera提供的一款高可用,可靠,分布式的海量日志采集、聚合和传输的软件。


Flume的核心功能是把数据从数据源收集过来,再将收集到的数据输送到目的地sink,为了保证整个输送过程一定成功,在输送到目的地之前会先缓存数据(channel),在数据真正到达目的地后,Flume再删除缓存。

Flume支持定制各类数据发送方,用于收集各类数据;同时支持定制各类数据接收方,用于最终存储数据,一般的数据采集需求对Flume采用简单的配置可以实现。针对特殊场合的数据采集场景具备良好的自定义扩展能力,因此Flume可以搞定大部分的数据采集场景。

当前Flume有两个版本,Flume0.9x的版本的统一称Flume OG即original generation,Flume 1.x版本的统称为Flume NG(next generation),FlumeNG相对于OG是经过了核心组件,核心配置和架构的重构,有很大的差异,使用的使用要注意,改动的另外的一个原因是Flume被纳入到apache旗下了,Cloudera Flume 变成了apache Flume了。



2.Flume结构


Flume的核心角色组件是agent,agent本身是一个java进程一般运行在日志收集节点,也可以存放在存储节点。

Flume以agent为最小的独立运行单位。一个agent就是一个JVM。它是一个完整的数据收集工具,含有三个核心组件,分别是

source、 channel、 sink



版权声明:本文为weixin_42418158原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。