Flume原理
Flume概述
1.Flume简介


2.FLume概述
2.1 FLume介绍


2.2 Flume运行机制

2.3 总结与思考⭐
- FlumeAnget本质是一个JVM进程,包含三个组件:Source(采集器),Chanel(缓冲通道),Sink(接受器)
- Flume-og由于代码臃肿被Flume-ng替代
3.Flume日志采集系统架构



3.1 总结与思考⭐
- 复杂结构即存在多个Agent,有两种情况,一是有多个数据源,而是有多个目的地
4.Flume的基本使用
4.1 Flume系统要求

4.2 Flume安装配置

1.Flume安装

2.Flume配置

3. 总结与思考⭐
- 先解压,再修改Flume-env.sh中和系统中的JAVA_HOME
4.3 Flume的入门和使用
1.配置Flume采集方案

2.使用指定采集方案启动Flume

3.Flume采集数据测试

4.总结与思考⭐
- 先编写配置文件,再指定配置文件启动FLumeAgent,再向监听端口发送数据5.
5.Flume采集方案配置说明

5.1 Flume Source
1. AvroSource

2.Spooling Directoty Source

3.Taildir Source

4.HTTP Source

5.总结与思考⭐
- AvroSource用于多个agent
- Spooling Directory Souce用于监听新文件采集
- Taildir Source用于监听文件新增内容采集
- HTTP Source用于POST/GET请求接受event数据
5.2 Flume Channels

1.Meory Chnanel

2.Flie Channel

3.总结与思考⭐
- MerryChannel适合更高容量吞吐,但是agent故障会丢失数据
- FileChannel一次事务提交多个event,提高吞吐量,不会因故障丢失数据
5.3 FLume Sink

1.HDFS Sink

2.Logger Sink

3.Avro Sink

4.总结与思考⭐
- 根据不通的目的地选择不同的sink
6.Flume的可靠性保证

6.1 负载均衡


6.2 故障转移

6.3 总结与思考⭐
- 为了保证Flume可靠性,将单一的sink转换为sink group,通过多个sink来实现负载均衡,或再某个sink出现问题时,进行故障转移
- load balancing sink processor(负载均衡sink处理器),让每个活跃的sink轮流/随即处理event
- failover sink processor(故障转移sink处理器),只允许一个活跃且优先级高的sink处理event
7.Flume拦截器

总结与思考⭐
- 拦截器是对event进行数据修改
- Timestamp Intercepot(时间辍拦截器),会将timestamp-时间的键值对添加到header头部,以此记录流程发生的时间
- Static Intercepot(静态拦截器):添加固定的键值对
- Search and replace interceptors(查找替换拦截器):查询并添加键值对
8.案例-日志采集
8.1 案例分析

8.2 案例实现


浙公网安备 33010602011771号