龙空技术网

免费开源的Flume,是如何有效采集、聚集和移动大量数据的呢?

七零后妈妈日常 86

前言:

目前同学们对“flume实时采集”大约比较珍视,大家都需要知道一些“flume实时采集”的相关资讯。那么小编同时在网摘上汇集了一些对于“flume实时采集””的相关内容,希望兄弟们能喜欢,大家快快来学习一下吧!

Flume是hadoop的数据收集系统,对不同来源的大量日志数据进行有效采集、聚集和移动,并进行集中式数据存储。

Flume 是免费开源产品,可以对数据进行简单处理,可以根据实际情况进行灵活拓扑组网,既能用于实时转发也能转为离线固化。

Flume 特点:高可用、高可靠、分布式, 无法支持实时计算。Flume 如果出现异常,需等待下一次重新处理

Flume架构:Flume由source(数据源)、channel(临时缓存)、sink(写出数据)组成,一个Source可以连接多个Channel,并且,Source必须至少和一个channel关联。

1、Flume Source 类型:Source用于采集数据,将采集的数据流传输到Channel中,Source类型有两种:驱动型 Source 和轮询型 Source。

Flume 本地采集的 Source: Spooling Directory Source。

2、Flume Channel 类型:Channel连接Source和Sink,是位于Source和Sink之间的缓冲区。Channel类型有三种:

1)Memory Channel,是基于内存缓存,不支持持久化;2)File Channel,是Flume的持久化Channel,系统宕机不会丢失数据;3)JDBC Channel,用于支持它本身嵌入的Derby 数据库。

3、Flume Sink类型:Sink使用户能够轻松地将数据导出到各种目的地,用于进一步的处理和分析。常用的Sink类型有:

1)HDFS Sink:将数据写入Hadoop HDFS文件系统。2)Hive Sink:将数据写入Hadoop Hive数据库。3)Kafka Sink:将数据写入Kafka消息队列。4)Logger Sink:将数据写入日志文件,以便进行跟踪和调试。

Flume 高级组件:除了 Source、channel、Sink外,用户可以设置其他组件,用以更灵活地控制数据流。

1)拦截器(interceptor):过滤和修饰数据;2)通道选择器(channel selector):可以将数据发到不同channel中以实现路由功能;3)sink 处理器(sink processor):可以实现负载均衡或故障转移,其中故障转移指的是,如果下一跳的Flume节点故障,可以自动切换到另外一条路上继续传输。

Flume 数据传输基本单元: event,Flume以事件的形式将数据从源头传输到最终的⽬的。如果是文本文件,通常是一行记录,这也是事务的基本单位。

(图片均来源于网络,如有侵权请联系删除)

标签: #flume实时采集