【大数据学习 | flume】flume的概述与组件的介绍

1. flume概述

Flume是cloudera(CDH版本的hadoop ) 开发的一个分布式、可靠、高可用的海量日志收集系统 。它将各个服务器中的数据收集起来并送到指定的地方去,比如说送到HDFS、Hbase,简单来说flume就是收集日志的。

Flume两个版本区别:

​ 1)Flume-og

​ 2)Flume-ng

2. flume的结构模型

​ Flume 运行的核心是 Agent ,Flume以agent为最小的独立运行单位,含有三个核心组件 ,分别是source、 channel、 sink,通过这些组件, Event 可以从一个地方流向另一个地方,如下图所示。

Source:

​ 从Client上收集数据 并对数据进行格式化 ,以Event(事件)的形式传递给单个或多个Channel。

Channel:

​ 短暂的存储容器,将从Source接收到的Event进行缓存直到被Sink消费掉 ,Channel是Source和Sink之间的桥梁,Channal是一个完整的事务 ,能保证了数据在收发时的一致性,并且一个Channel可以同时和任意数量的Source和Sink建立连接。

Sink:

​ 从Channel中消费数据(Event)并传递到存储容器(Hbase、HDFS)或其他的Source中。

工作流程:

​ 把数据从数据源(source)收集过来,在将收集到的数据送到指定的目的地(sink)。

​ 为了保证输送的过程一定成功,在送到目的地(sink)之前,会先缓存数据(channel),待数据真正到达目的地(sink)后,flume再删除自己缓存的数据。

什么是Event?

​ 1)event将传输的数据进行封装,是flume传输数据的基本单位,如果是文本文件,通常是一行记录。

​ 2)event也是事务的基本单位。

​ 3)event从source,流向channel,再到sink,本身为一个字节数组,并可携带headers(头信息)信息。

Agent:

​ Flume以 Agent 为最小的独立运行单元,Agent 依赖于 JVM ,一个 Agent 的运行就伴随一个 JVM 实例的产生。

​ 一台机器可以运行多个Agent,一个Agent中可以包含多个Source、Channel。Sink。

3. flume各组件介绍

​ Flume提供了大量内置的Source、Channel和Sink类型,不同类型的Source,Channel和Sink可以自由组合.组合方式基于用户设置的配置文件。

3.1 source组件

Source是数据的收集端 ,负责将数据捕获后进行特殊的格式化 ,将数据封装到事件(event) 里,然后将事件推入Channel中,Flume提供了各种source的实现,包括Avro Source、Exce Source、Spooling Directory Source、NetCat Source、Syslog Source、Syslog TCP Source、Syslog UDP Source、HTTP Source、HDFS Source,etc。如果内置的Source无法满足需要, Flume还支持自定义Source。

3.2 channel组件

​ Channel是连接Source和Sink的组件,大家可以将它看做一个数据的缓冲区(数据队列),它可以将事件暂存到内存中也可以持久化到本地磁盘上, 直到Sink处理完该事件,Flume对于Channel,则提供了Memory Channel、JDBC Chanel、File Channel,etc。

​ MemoryChannel可以实现高速的吞吐,但是无法保证数据的完整性。

​ MemoryRecoverChannel在官方文档的建议上已经建义使用FileChannel来替换。

​ FileChannel保证数据的完整性与一致性。

3.3 sink组件

​ Flume Sink取出Channel中的数据,进行相应的存储文件系统,数据库,或者提交到远程服务器。Flume也提供了各种sink的实现,包括HDFS sink、Logger sink、Avro sink、File Roll sink、Null sink、HBase sink,etc。

​ Flume Sink在设置存储数据时,可以向文件系统中,数据库中,hadoop中储数据,在日志数据较少时,可以将数据存储在文件系中,并且设定一定的时间间隔保存数据,在日志数据较多时,可以将相应的日志数据存储到Hadoop中,便于日后进行相应的数据分析。

相关推荐
中伟视界9 分钟前
绿色矿山国标明日施行:边缘AI与AI布控球技术落地
大数据·人工智能·#深度学习·#机器视觉·#工业ai·#边缘计算·#矿山智能化
atsec14 分钟前
从论坛走向未来:atsec赞助第30届通用评估准则用户论坛(CCUF)罗马研讨会
大数据·人工智能
QYR_1115 分钟前
气体检测管市场分析:2025年全球销售额达1.27亿美元,2032年有望增至1.73亿美元
大数据·人工智能
zhiyouTech17 分钟前
从“被看见“到“被信任“:关于信源评级机制的一点观察
大数据·前端·人工智能
HZZD_HZZD25 分钟前
NILM模型换个楼F1就从0.87跌到0.62?合众致达跨楼宇迁移实测:冻结卷积微调7天数据让洗衣机分解F1回升至0.81
大数据·物联网
71-333 分钟前
MySQL密码重置
数据库·笔记·学习·mysql
重生之我是小技35 分钟前
Instagram Shop 与 TikTok Shop 运营对比:从流量逻辑到转化策略
大数据
NailiConveyor38 分钟前
输送机皮带材质选型指南:PVC、PU、橡胶、模块化塑料各适用什么场景?
大数据·运维·自动化·制造·业界资讯·材质
阿里云大数据AI技术40 分钟前
息壤开物 × 阿里云:为具身智能造一座“会生长的数据工厂“
大数据·人工智能·阿里云·dataworks·maxcompute
我命由我123451 小时前
Photoshop - Photoshop 快速共享作品
学习·ui·职场和发展·求职招聘·职场发展·学习方法·photoshop