首页 理论教育 Flume介绍:大数据采集的利器

Flume介绍:大数据采集的利器

时间:2023-06-24 理论教育 版权反馈
【摘要】:Flume 作为Cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用。Flume 初始的发行版本被统称为“Flume OG”,属于Cloudera。Flume 是开源日志系统。Flume 是一个分布式、可靠和高可用的海量日志采集、聚合和传输的系统。Flume 的数据流由事件贯穿始终。Flume 具备可靠性,当节点出现故障时,日志能够被传送到其他节点上而不会丢失。Flume 具备可恢复性的功能需要Channel 来完成。

Flume介绍:大数据采集的利器

Flume 作为Cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用。Flume 初始的发行版本被统称为“Flume OG”(original generation),属于Cloudera。但随着Flume 功能的扩展,Flume OG 代码工程臃肿、核心组件设计不合理、核心配置不标准等缺点暴露出来,尤其是在Flume OG 的最后一个发行版本Flume OG 0.94 中,日志传输不稳定的现象尤为严重,为了解决这些问题,2011 年10 月,Cloudera 完成了Flume-728,对Flume 进行了里程碑式的改动:重构核心组件、核心配置以及代码架构,重构后的版本统称为“Flume NG”(next generation);改动的另一原因是将Flume 纳入Apache 旗下,Cloudera Flume 改名为“Apache Flume”。

Flume 是开源日志系统。Flume 是一个分布式、可靠和高可用的海量日志采集、聚合和传输的系统。支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume 提供对数据进行简单处理,并写到各种数据接受方(如文本、HDFS、Hbase 等)的能力。

Flume 的数据流由事件(Event)贯穿始终。事件是Flume 的基本数据单位,它携带日志数据(字节数组形式)并且携带有头信息,这些Event 由Agent 外部的Source 生成,当Source 捕获事件后会进行特定的格式化,然后Source 会将事件推入(单个或多个)Channel 中。可以将Channel 看作是一个缓冲区,它将保存事件直到Sink 处理完该事件。Sink 负责持久化日志或将事件推向另一个Source。(www.xing528.com)

Flume 具备可靠性,当节点出现故障时,日志能够被传送到其他节点上而不会丢失。Flume 提供了三种级别的可靠性保障,从强到弱依次分别为:End-to-End(收到数据Agent 首先将Event 写到磁盘上,当数据传送成功后,再删除;如果数据发送失败,可以重新发送),Store on failure(这也是Scribe 采用的策略,当数据接收方Crash 时,将数据写到本地,待恢复后,继续发送),Besteffort(数据发送到接收方后,不会进行确认)。

Flume 具备可恢复性的功能需要Channel 来完成。使用FileChannel,事件持久化在本地文件系统里。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈