天天看点

flume架构

1、flume官网

http://flume.apache.org/releases/content/1.9.0/FlumeUserGuide.html#exec-source
           

2、flume简介

Apache Flume is a distributed, reliable, and available system for efficiently collecting, aggregating and moving large amounts of log data from many different sources to a centralized data store.

flume是一个分布式、可靠、可用的系统,用于有效收集,聚集和移动大量日志文件,从多数据源到一个中心数据仓库

3、flume总体架构

flume架构

flume三个核心组件:Source(文件源)、Channel(通道)、Sink(目的地)。

Source:用来收集数据,可以处理各种类型、各种格式的日志。

Channel:Source组件吧数据收集过来以后,临时存放在channel中,作为缓存。channel可为memory、jdbc、file、kafka等

Sink:Sink用于把数据发送到目的地,包括:hdfs、logger、file、hbase、kafka、http···

4、event事件

flume核心是吧数据从source收集,输送到sink。为保证准确性,会缓存数据到channel,等数据到达目的地sink后,flume在删除自己缓存的数据。

在整个数据的传输过程中,流动的是event,事务保证是在event级别。

event:event将传输的数据进行封装,是传输以及事务的基本单位。例如log文件的一行记录,会被封装成一个event。 event从source流向channel,再到sink,本身为一个自己数组,并可携带headers(头部信息)。event代表一个数据的最小完整单元,从外部数据源来,到外部的目的地去。

5、flume支持的配置

两台机器传输

flume架构

多台机器数据传输到一台机器

flume架构

一台机器数据传输到多台机器

flume架构