Flume介绍+安装+案例

Flume是一个分布式、可扩展的日志收集系统,具备高可用性和容错性。文章介绍了Flume的基本架构,包括Source、Channel和Sink,详细阐述了其工作流程和原理。此外,还讲解了Flume的事务机制,确保数据的可靠性。文章提供了Flume 1.6.0的安装步骤,并分享了多个案例,包括收集Socket数据并输出到logger、写入本地磁盘以及在一个Agent内实现两套流的数据传输。
摘要由CSDN通过智能技术生成

定义

Flume是一个分布式,可扩展,可靠,高可用的服务。用于有效地收集,聚合和移动大量日志数据。
它具有基于流数据流的简单灵活的架构。
它具有可靠的可靠性机制和许多故障转移和恢复机制,具有强大的容错能力。
其设计宗旨是向Hadoop批量导入基于事件的海量数据

发展

Flume原始版本为Flume-OG,经过对整体架构的重新设计,已改名为Flume-NG
Flume发展到现在已经不仅限于日志采集,还可以通过简单的配置收集不同数据源的海量数据并将数据准确高效地传输到不同的中心存储。目前Flume可以对接的主流大数据框架有Hadoop、Kafka、ElasticSearch、Hive、HBase等

Flume基本架构(FLume-NG)

在这里插入图片描述
flume三个组件:[Source(数据源)、Channel(通道)、Sink(接收器)]==Agent(代理)

Flume的工作流程

flume中数据的传输体现在event的传输。一个event在一个agent中的传输流程也就体现了flume的工作流程。

Source–>Interceptor(可选)---->Selector---->Channel---->Sink Processor---->Sink---->存储中心/下一个Agent

Source是数据的收集端,负责将数据捕获后进行特殊的格式化,将数据封装到事件(event) 里,然后将事件推入Channel中。 Flume提供了很多内置的Source, 支持 Avro, log4j, syslog 和 http post(body为json格式)。

Channel是连接Source和Sink的组件,可以将它看做一个数据的缓冲区(数据队列),它可以将事件暂存到内存中也可以持久化到本地磁盘上, 直到Sink处理完该事件。

Sink从Channel中取出事件,然后将数据发到别处,可以向文件系统、数据库、 hadoop存数据, 也可以是其他agent的Source

Flume的工作原理

从设置角度讲,Flume是一个灵活的分布式系统,提供多种不同来源高效收集、聚合和传送大量数据到集中式数据存储的可靠且可扩展的方式。

以下是关键概念:

  • 客户端(client)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值