Blog
flume-01 基本概念
Agent
- Agent是一个JVM进程,它以事件(Event)的形式将数据从源头送至目的地
- Agent主要有3个部分组成,Source、Channel、Sink
Source
- Source是负责接收数据到Flume Agent的组件。Source组件可以处理各种类型、各种格式的日志数据,包括avro、exec、spooling directory、netcat、taildir等
Sink
- Sink不断的轮询Channel中的事件(Event)并批量的移除它们,并将这些事件批量写入到存储或者索引系统、或者被发送到另一个Flume Agent
- Sink组件目的地包括:hdfs、logger、avro、file、Hbase、solr等
Channel
- channel是位于source和sink之间的缓冲区,因此channel允许source和sink运作在不同的速率上
- channel是线程安全的可以同时处理几个source的写入和几个sink的读取操作
- flume自带两种channel
- memory channel
- file channel 以及 kafka channel
Event
- flume数据传输的基本单元
- event由header和body两个部分组成
- header用来存放event的一些属性k-v结构
- body用来存放该条数据,字节数组形式