Flume - 初识

Flume - 初识


一、基本架构

Flume-NG 采用三层架构设计:收集(Source)、暂存(channel)和处理(Sink)。
flume架构.png-107.7kB

一个event在一个agent中传输的顺序为:

Source -> Interceptor -> Selector -> Channel -> Sink Processor -> Sink -> 中心存储/下一级agent

二、核心概念

  1. Event: 一条消息或者说是一条数据,具有可选头信息,在头信息中可以设置时间戳、主机名称等信息。
  2. Source: 数据源,接收或者收集不同形式的数据源。
  3. Channel: event的临时缓冲区,source先将event发送到chanel缓存等待sink消费。
  4. Sink: 从channel获取event并发送到中心存储或者下一级agent。
  5. Agent: 包含source、channel、sink等组件的flume进程。
  6. Interceptor: event拦截器,根据配置文件在event的header中添加时间戳、主机名称等信息。
  7. Selector: event选择器,event选择流入channel的方式,flume提供了复制(replicating)和复用(multiplexing)选择器。
  8. Sink Processor: event sink处理器,flume提供了故障转移处理器和负载均衡处理器。

三、组件简介

3.1 Source

Source用于对接各种数据源,将收集到的事件发送到临时存储Channel中。

常用的source类型有:Avro Source、Exec Source、Kafka Source、Taildir Source、Spooling Directory Source等

3.2 Channel

Channel被设计为Event中转临时缓冲区,存储Source收集并且没有被Sink读取的Event,为平衡Source收集和Sink读取数据的速度,可视为Flume内部的消息队列。Channel线程安全并且具有事务性,支持source写失败重复写和sink读失败重复读等操作。

常用的Channel类型有Memory Channel、File Channel、Kafka Channel等。

3.3 Sink

常用的类型为 Avro Sink、HDFS Sink、Kafka Sink

四、配置别名

flume配置别名.png-18.9kB

猜你喜欢

转载自blog.csdn.net/u011669700/article/details/79979231