flume和kafka区别

Fanly 2019-07-22 16:56:48
问答

kafka和flume都是日志系统,kafka是分布式消息中间件,自带存储;flume每一部分都是可以定制。kafka更合适做日志缓存,flume数据采集部分做的很好,可以定制很多数据源,减少开发量。

kafkaflume 都是日志系统,kafka 是分布式消息中间件,自带存储,提供 push 和 pull 存取数据功能。flume 分为 agent(数据采集器),collector(数据简单处理和写入),storage(存储器)三部分,每一部分都是可以定制的。比如 agent 采用 RPC(Thrift-RPC)、text(文件)等,storage 指定用 hdfs 做。

flume vs kafka

kafka 做日志缓存应该是更为合适的,但是 flume 的数据采集部分做的很好,可以定制很多数据源,减少开发量。所以比较流行 flume+kafka 模式,如果为了利用 flume 写 hdfs 的能力,也可以采用 kafka+flume 的方式。

采集层 主要可以使用 Flume, Kafka 两种技术。

Flume:Flume 是管道流方式,提供了很多的默认实现,让用户通过参数部署,及扩展 API.

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

Kafka 是一个非常通用的系统。你可以有许多生产者和很多的消费者共享多个主题 Topics。相比之下,Flume 是一个专用工具被设计为旨在往 HDFS,HBase 发送数据。它对 HDFS 有特殊的优化,并且集成了 Hadoop 的安全特性。所以,Cloudera 建议如果数据被多个系统消费的话,使用 kafka;如果数据被设计给 Hadoop 使用,使用 Flume。

正如你们所知 Flume 内置很多的 source 和 sink 组件。然而,Kafka 明显有一个更小的生产消费者生态系统,并且 Kafka 的社区支持不好。希望将来这种情况会得到改善,但是目前:使用 Kafka 意味着你准备好了编写你自己的生产者和消费者代码。如果已经存在的 Flume Sources 和 Sinks 满足你的需求,并且你更喜欢不需要任何开发的系统,请使用 Flume。

Flume 可以使用拦截器实时处理数据。这些对数据屏蔽或者过量是很有用的。Kafka 需要外部的流处理系统才能做到。

Kafka 和 Flume 都是可靠的系统,通过适当的配置能保证零数据丢失。然而,Flume 不支持副本事件。于是,如果 Flume 代理的一个节点崩溃了,即使使用了可靠的文件管道方式,你也将丢失这些事件直到你恢复这些磁盘。如果你需要一个高可靠行的管道,那么使用 Kafka 是个更好的选择。

Flume 和 Kafka 可以很好地结合起来使用。如果你的设计需要从 Kafka 到 Hadoop 的流数据,使用 Flume 代理并配置 Kafka 的 Source 读取数据也是可行的:你没有必要实现自己的消费者。你可以直接利用 Flume 与 HDFS 及 HBase 的结合的所有好处。你可以使用 Cloudera Manager 对消费者的监控,并且你甚至可以添加拦截器进行一些流处理。

Flume 和 Kafka 可以结合起来使用。通常会使用 Flume + Kafka 的方式。其实如果为了利用 Flume 已有的写 HDFS 功能,也可以使用 Kafka + Flume 的方式。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • Big Data 大数据

    大数据定义和概念

    大数据是收集,组织,处理和收集大型数据集洞察所需的非传统策略和技术的总称。虽然处理超过单个计算机的计算能力或存储的数据的问题并不新鲜,但近年来这种类型的计算的普遍性,规模和价值已经大大扩展。
  • kafka

    Kafka是什么

    Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。
  • Flume

    Flume是什么框架

    Apache Flume 是一个从可以收集例如日志,事件等数据资源,并将这些数量庞大的数据从各项数据资源中集中起来存储的工具/服务,或者数集中机制。具有高可用,分布式,配置工具,其设计的原理也是基于将数据流。
  • VMWare Fusion 虚拟机软件

    VMWare Fusion,专为Mac系统设计的虚拟机软件

    VMware Fusion 是一款为 Mac 用户设计的虚拟机软件,允许在 macOS 上运行多种操作系统。它提供了无缝集成、强大的图形处理能力和虚拟网络功能,特别适合开发者、测试人员和 IT 专业人员。用户可以轻松创建和管理虚拟机,进行高效的多操作系统使用和测试。
  • Windows 防火墙 windows firewall

    如何配置Windows防火墙提高安全性

    配置防火墙提高安全性首先在搜索栏防火墙输入,选择防火墙,确保在开启状态,再配置入站和出站规则,点击新建规则,想控制特定程序的网络访问权限可选择程序,浏览到相应程序的可执行文件,需要控制特定端口的访选择端口,指定需要控制的端口号和协议。
  • VMware Workstation Player 桌面虚拟化软件 VMware Player

    VMware Workstation Player,免费的桌面虚拟化软件

    VMware Workstation Player是一款免费的桌面虚拟化软件,允许用户在单一物理机上运行多个操作系统。它支持广泛的操作系统,提供隔离安全的环境,具备快照、文件共享等功能,界面直观易用。虽然功能上不如VMware Workstation Pro全面,但对于个人用户和小型企业已足够。