flume组件相关总结


前言

在进行大数据开发过程中,flume是一个比较重要的组件,我们知道它是和日志采集有关的,但是具体如何对日志进行采集,在这里我们对其进行相应的总结。

一、flume是什么

flume 是由 cloudera 软件公司产出的可分布式日志收集系统,后与 2009 年被捐赠了 apache 软件基金会,为hadoop 相关组件之一。
Flume 是一种分布式 ,可靠且可用的服务,用于高效地收集,汇总和移动大量日志数据 。 它具有基于流式数据流的简单而灵活的架构 。 它具有可靠的可靠性机制以及许多故障转移和恢复机制 , 具有强大的容错性和容错能力。它使用一个简单的可扩展数据模型,允许在线分析应用程序

二、flume用来做什么

1.提供从固定目录下采集日志信息到目的地(HDFS,HBase,Kafka)能力。
2.提供实时采集日志信息(taidir)到目的地的能力。
3.FLume支持级联(多个Flume对接起来),合并数据的能力。
4.Flume支持按照用户定制采集数据的能力
Flume的核心是把数据从数据源(source)收集过来,再发送到指定的目的地(sink)。为了保证输送的过程一定成功,在送到目的地(sink)之前,会先缓存数据(channel),待数据真正到达目的地后,flume再删除自己的缓存的数据。
Flume的核心角色是agent,agent本身是一个Java进程,一般运行在日志收集节点,每个agent都3个组件。
1.Source:采集源,用于和数据源对接,以获取数据。
2.Sink:下沉地,采集数据的传送目的地,用于往下一级agent传输数据或者往最终存储系统长度数据。
3.Channel:agent内部的数据传递通道,用于从source将数据传送到sink。在整个数据的传送的过程中,流动的是event,它是FLume内部数据传输的最基本单位

三、flume有什么优势

(1)优点
Flume可以将应用产生的数据存储到任何集中存储器中,比如HDFS,HBase。
当收集数据的速度超过将写入数据的时候,也就是当收集信息遇到峰值时,这时候收集的信息非常大,甚至超过了系统的写入数据能力,这时候,Flume会在数据生产者和数据收容器间做出调整,保证其能够在两者之间提供一共平稳的数据。
提供上下文路由特征。
Flume的管道是基于事务,保证了数据在传送和接收时的一致性。
Flume是可靠的,容错性高的,可升级的,易管理的,并且可定制的。
实时性,Flume有一个好处可以实时的将分析数据并将数据保存在数据库或者其他系统中。
(2)缺点
Flume的配置很繁琐,source,channel,sink的关系在配置文件里面交织在一起,不便于管理。Flume最大的缺点就是没有采集记忆,当flume在运行时,出现错误,必须终止flume才能解决时,在再次启动flume时,他会重新采集数据,会造成数据的重复。

四、为什么用flume

一般来说,当在Hadoop 集群上,有足够数据处理的时候,通常会有很多生产数据的服务器。这些服务器的数量是上百甚至是上千的。这样庞大数量的服务器试着将数据写入HDFS 或者HBase 集群,会因为多种原因导致重大问题。
Flume 被设计成为一个灵活的分布式系统,可以很容易地扩展,而且是高度可定制化的。
一个配置正确的Flume Agent 和由相互连接的Agent 创建的Agent 的管道,保证不会丢失数据,提供持久的Channel。Flume 部署的最简单元是Flume Agent。一个Flume Agent 可以连接一个或多个其他的Agent。一个Agent 也可以从一个或多个Agent 接收数据。通过相互连接的多个FlumeAgent,一个流作业被建立。这个Flume Agent 链条可以用于将数据从一个位置移动到另一个位置——特别是,从生产数据的应用程序到HDFS、HBase 等。
大量的Flume Agent 从应用服务器接收数据,然后将数据写入到HDFS 或者HBase(无论是直接或者通过其他Flume Agent), 通过简单增加更多的Flume Agent 就能够扩展服务器的数量并将大量数据写入到HDFS。

五、flume解决了什么问题

Flume解决了数据采集的问题,同时由于flume强大的扩展性以及灵活性,很好地解决了数据采集的可靠性,减少发生重大问题。

总结

Flume是一个日志采集系统,有很好的容错性以及扩展性,它主要由三部分组成,source,channel,sink,其中sink可以到kafka,HDFS,Hbase。此外Flume的一个基本单位叫agent,许多agent单位可以扩展服务器的数量并将大量数据写入HDFS。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值