第1章、Flume概述
1.1、Flume定义
- Flume 是一个高可用的、高可靠的,分布式的海量日志采集、聚合和传输的系统。
1.2、Flume基础架构
- Agent:一个JVM进程,它以事件的形式将数据从源头送至目的。
- Source:
- 负责接收数据到Flume Agent的组件;
- 类型:
- avro;
- exec;
- spooling directory;
- netcat;
- …
- Sink:
- 轮询Channel中的事件,将事件批量写入到存储或索引系统、或者被发送到另一个Flume Agent;
- 类型:
- hdfs
- logger
- avro
- file
- HBase
- Channel:
- Source和Sink之间的缓冲区;
- 类型:
- Memory Channel
- Memory Channel
- Event:
- Flume数据传输的基本单元;
- 结构:
- Header;
- Body;
第2章、Flume快速入门
2.1、安装部署
2.2、入门案例
第3章、Flume进阶
3.1、Flume事务
Put事务:
- doPut:
- doCommit:
- doRollback:
Take事务:
- doTake:
- doCommit:
- doRollback:
3.2、Flume Agent内部原理
ChannelSelector
- Replicating;
- Multiplexing;
SinkProcessor
- DefaultSinkProcessor;
- LoadBalancingSinkProcessor;
- FailoverSinkProcessor;
3.3、Flume拓扑结构
- 简单串联
- 复制和多路复用
- 负载均衡和故障转移
- 聚合
3.4、Flume企业开发案例
3.5、自定义 Interceptor
3.6、自定义 Source
3.7、自定义 Sink
3.8、Flume 数据流监控
- Ganglia