Flume基础及Flume高质量博客合集

最近在学习Flume基础,Flume适用场景,及将源码修改为按文件读取数据,Flume监控目录文件夹,监控文件的原理;

1. Flume简介

Apache Flume是一种分布式,可靠且可用的服务,用于有效地收集,聚合和移动大量日志
数据。其主要目标是将数据从应用程序传递到Apache Hadoop的HDFS。

它具有基于流数据流的简单灵活的体系结构。它具有可调整的可靠性机制以及许多故障转移和恢复机制,具有强大的功能和容错能力。它使用一个简单的可扩展数据模型,该模型可用于在线分析应用程序。

Flume Origin Generation:简称flume OG;
Flume Next Generation:简称flume NG,是为了解决某些已知问题和局限性,并重构了一些核心类和系统后的升级版;另外Flume被并入了Apache;

Flume类似于定制化的一套接近实时的逻辑:

为什么这么说呢? Flume监控目录时,默认500ms就会去扫描下目录看是否有增量文件,或者增量内容;
可以说Flume是优雅的定时任务

2. Flume 3要素

source ----> channel ----> sink
提供了多个源source,监控目录,或者从日志,kafka等接入数据;
channle类似于缓冲池;
提供了多个目标sink,可以写入kafka,hdfs;

  • event 事件

事件是Flume NG可以传输的单个数据单位。事件类似于JMS和类似消息传递系统中的消息,并且通常很小(大约几个字节到几千个字节)。事件通常也是较大数据集中的单个记录。一个事件由标题和主体组成;前者是键/值映射,后者是任意字节数组

  • source 资源

Flume NG从中接收数据的数据源。源可以是可轮询的,也可以是事件驱动的。 Flume NG源赛跑者反复轮询可疑源,就像它们听起来一样,其中事件驱动源预计将由其他某种力量驱动。可轮询源的一个示例是序列生成器,它可以简单地生成主体为单调递增的整数的事件。事件驱动源包括接受Avro RPC调用并将RPC有效负载转换为Flume事件的Avro源以及模仿在服务器模式下运行的nc命令行工具的netcat源。源是用户可访问的API扩展点。

  • Sink 接收器

接收器与源相对应,因为它是Flume NG中数据的目标。 Flume NG随附的一些内置接收器是Hadoop分布式文件系统接收器,该接收器以各种方式将事件写入HDFS;记录器接收器仅记录接收到的所有事件;空接收器,这是Flume NG的/ dev /版本。空值。接收器是用户可访问的API扩展点。

  • Channel 通道

通道是源和接收器之间事件的管道。通道还规定了源与接收器之间事件传递的持久性。例如,某个通道可能在内存中,虽然速度很快,但不能保证不会丢失数据,或者可以完全持久(因此可靠),即使在发生故障(例如断电)的情况下,也可以确保将每个事件传递给连接的接收器失利。通道是用户可访问的API扩展点。

3. 适用场景

Flume适用于对文件递增式的处理,最好一个文件夹下的文件都是一类,上一个文件与下一个增量文件之间没有逻辑关系,可以每个都走相同的处理流程的数据处理;

Flume监控目录或者文件:

  • 以文件内容增量够1MB触发;
  • 以文件内容增量多行处理;
  • 也可以以文件增量触发;

Flume如何避免文件重复处理的呢?
处理完成后的文件会进行文件名前缀或者后缀的修改,以标识其已经处理过;

Flume监控目录: SpoolDirectorySource(是否递归 recursiveDirectorySearch)
Flume监控目录: Taildir 记录positionFile,支持断点续传

source–> channel --> sinks
一个source可以有多个channle, 但是一个sink只能有一个channel

source 到 channel 有两种模式可以支持: 复制技术和 多路技术

  • 复制(replicating): 默认值,event发送给所有的channel
  • 多路(multiplexing): 选择性的发送给channel

Flume channel
channel就是在agent端存储event的, source发送过来event,sink去消费

  • MemoryChannel可以实现高速的吞吐,但是无法保证数据的完整性;
  • MemoryRecoverChannel在官方文档的建议上已经建义使用FileChannel来替换。
  • FileChannel 保证数据的完整性与一致性,效率低。在具体配置时,建议FileChannel设置的目录和程序日志文件保存的目录设成不同的磁盘,以便提高效率。

4. 优质博客List

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序媛一枚~

您的鼓励是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值