flume
2025-07-04 17:46:37 1 举报
AI智能生成
演讲flume
作者其他创作
大纲/内容
概念
可以提供高可用,高可靠,分布式的海量日志采集,聚合和传输的系统
基于流式架构,灵活简单
什么是流式架构
持续实时的数据处理模式
与传统的批量处理的区别
批量处理
有明确的边界,数据预先收拾完
积累一定数量的数据统一处理
延迟:小时级别,天级别
高吞吐适合大量静态数据
Hadoop,MR,Hive
流式处理
延迟:毫秒,秒级别
高并发低延迟,适合小的数据量
数据到达立即处理实时响应
Fink,Spark
组成架构
Agent
他是一个JVM进程,以事件的形式将数据从源头发送到目的地,Flume数据传输的基本单元
Source
负责收集数据到Agent组件中
组件
Taildir Source
断点续传
通过记录每个文件的 inode(文件标识符) 和 position(偏移量) 到位置文件(position file),即使 Flume 重启也能从上次中断的位置继续读取,避免数据重复或丢失
Avro Source
接收 Avro 格式数据的组件
Channel
位于Source和Sink之间的缓冲区,可以同时处理多个Source和Sink的读取和写入操作
Channel是线程安全
确保共享资源在多线程的正确性
组件
Memory Channel
存储在内存
File Channel
支持断点续传 存储到磁盘
Sink
将批量的处理Channel中的事件,将这些事件批量的写入存储系统中,或者发给另一个Flume Agent
Sink是完整事务
在Channel到Sink传输过程中保持数据的一致性 保证ACID的特性(互动)
原子性
一致性
隔离性
持久性
组件
Avro Sink
以Avro协议发送到目标系统的组件 高效的二进制编码
HDFS Sink
将事件写入Hadoop分布式文件系统HDFS中
Event
存储从数据源获取的数据在source channel,sink 之间流动
key-value格式
Headers
body
拓扑结构
负载均衡
聚合
项目
流式处理
put事务 推送数据流程
doput写入到临时缓冲区dolist
doCommit 检查channel内存队列是否足够容纳数据 满足提交 不满足回滚
doRollback
事务提交失败回滚数据到putList
take事务 拉取事务流程
doTake Sink将数据从Channel取到临时缓冲区takeList
doCommit 如果数据成功发送成功,则清除akeList中的数据
doRollback 数据发送过程中若出现异常 回滚事务 tackList将事务放回Channel
Event
source
外部数据源获取到数据后,会将数据封装成 Event 对象
channel
会暂存这些 Event,等待 Sink 来拉取
sink
将 Event 中的数据写入到 HDFS
内部原理
问题
Taildir 怎么实现断点续传?
断点续传功能
实现流程
位置记录文件positionFile
TaildirSource 通过一个JSON文件来记录每个被监控文件的读取位置
文件里面有
inode
LInux文件系统中的唯一标识 用于定位文件
pos
文件当前读取位置的字节偏移量
file
文件路径
mtime
文件修改的时间戳
文件路径映射机制
流程
TaildirSource启动时候读取文件将文件的映射关系加载到内存
Flume 集群的高可用
Flume 组件有哪些?你们是怎么选择用的?
Taildir Source
Avro Source
File Channel
Memory Channel
Avro Sink
HDFS Sink
Flume 组成,Put 事务,Take 事务
Flume 拦截器
ETL拦截器
区分类型拦截器
建造者模式
Interceptor
构造器私有化
实现Interceptor。bulider
return new EventInterceptor
创建list event
重写四个方法
初始化
初始化 event
单个事件
获取请求头请求体·
get
将json格式的数据转换为map
判断请求体是否包含时间属性 如果包含则设置请求头为timestamp·
多个事件
循环遍历单个事件,存入list
销毁
Flume 采集数据会丢失吗?(防止数据丢失的机制)
不会,Channel 存储可以存储在 File 中,数据传输自身有事务。
Flume 内存
FileChannel 优化
HDFS Sink 小文件处理
存在大量的小文件会导致 影响Namenode性能
元数据层面:每个文件都需要有一份元数据 如果小文件过多对应的元数据也会过多
处理方法
增大时间间隔
提高文件大小阈值
禁用事件数滚动
0 条评论
下一页
为你推荐
查看更多