Flume 和 kafka的区别和对比

定义:

Flume:是Cloudera提供的一个分布式的海量日志采集、聚合和传输的系统;

Kafka:是一种高吞吐量的分布式发布订阅消息系统;

各特点:

场景

Flume主要是和HDFS\HBase结合,有特殊优化效率更好;

Kafka 是一个通用型系统,开发商 Cloudera 推荐如果数据需要被多个应用程序消费的话,推荐使用 Kafka。

实时过滤

Flume 可以在拦截器里面实时处理数据。这个特性对实时过滤数据非常有用。Kafka 需要一个外部系统帮助处理数据。

数据保存

kafka更适合做日志缓存:两个系统都可以保证不丢失数据。但Flume 不会复制事件,如果 Flume agent 所在的这个节点宕机了,你会失去所有的事件访问能力直到你修复这个受损的节点。使用 Kafka 的管道特性不会有这样的问题。

两者可协作工作:

  kafka + flume:如果你需要把流式数据从 Kafka 转移到 Hadoop,可以使用 Flume 代理 (agent),将 kafka 当作一个来源 (source),这样可以从 Kafka 读取数据到 Hadoop。

  flume + kafka:做日志缓存;flume的数据采集部分做的很好,可以定制很多数据源,减少开发量(kafka没有直接可用的生产者与消息者,需要自己实现),然后利用kafuka分发到多个系统;

整理自:Flume 与Kafka区别

    Kafka 与 Flume的区别

    kafka和flume的对比

上一篇:如何将同一个APP中的不同activity在Recent(最近任务)中显示?


下一篇:Apache Flume日志收集系统简介