Flume 总结

本文探讨了Flume和Kafka在数据采集、传输及存储方面的不同应用场景。Flume适用于直接向Hadoop生态写入数据,而Kafka作为分布式消息队列,更适合多系统消费的数据场景。文章还深入分析了两者在日志采集、数据持久化及故障恢复上的差异。
摘要由CSDN通过智能技术生成

一、Flume使用场景:

线上数据一般主要是落地(存储到磁盘)或者通过socket传输给另外一个系统,这种情况下,你很难推动线上应用或服务去修改接口,实现直接向kafka里写数据,这时候你可能就需要flume这样的系统帮你去做传输。

二、Flume的体系架构:

1、source:用于采集数据,souce是产生数据流的地方,同时将source会将数据流传输到channel,这点类似于java io部分的channel。

2、channel:用于桥接sources和sinks,类似于队列。

3、sink:从channel收集数据,将数据写到目标源,可以是下一个source或则HDFS或则HBase。

三、Flume与Kafka的选取:

1、Flume是一种管道流方式,提供很多默认的实现,让用户通过参数部署及扩展API。

2、Kafka:是一种可持久化的分布式消息队列。

3、如果数据被多个系统消费,建议使用kafka,如果数据被设计给Hadoop,使用Flume。

4、Flume可以自定义拦截器对数据屏蔽或过量是很有用的,Kafka需要外部的流处理系统才能做到。

5、Flume不支持副本事件,如果Flume代理节点崩溃了,即使用了可靠的文件管理方式,可以恢复丢失的这些事件。

6、Flume采集数据到Kafka:自定义Flume的sink组件,将数据从channel中取出,通过kafka的producer写入到Kafka中,可以自定义分区。

四、Flume与Kafka采集日志区别:

1、Flume采集日志是通过流的方式直接将日志收集到存储层,而kafka是将数据缓存在kafka集群,待后期可以采集到存储层。

2、Flume采集中间停了,可以采用文件的方式记录之前的日志,而kafka是采用offset的方式记录之前的日志。

更多文章见:

让我遇见你。​www.shiruiblog.cn图标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值