博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【采集层】Kafka 与 Flume 如何选择(转)
阅读量:5447 次
发布时间:2019-06-15

本文共 986 字,大约阅读时间需要 3 分钟。

原文链接:

采集层 主要可以使用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的方式。

转载于:https://www.cnblogs.com/gaopeng527/p/4962377.html

你可能感兴趣的文章
C++编程练习(14)-------“单例模式”的实现
查看>>
Windows10下Anaconda虚拟环境下安装pycocotools
查看>>
rxjs 的用法
查看>>
51Nod 1092 回文字符串
查看>>
函数的值传递与指针
查看>>
发邮件
查看>>
使用SVN时 URL access forbidden for unknown reason
查看>>
冲刺一阶段———个人总结10
查看>>
使用镜像仓库托管自己构建的Docker镜像
查看>>
代码整洁之道阅读笔记01
查看>>
HttpHelper类
查看>>
hdu1664 bfs+余数判重
查看>>
E - Fantasy of a Summation LightOJ1213
查看>>
Android 6.0 运行时权限处理完全解析
查看>>
$(function() {})
查看>>
php中json_decode()和json_encode()
查看>>
MATLAB绘图与图形处理(1)
查看>>
网页布局小练
查看>>
docker:virtualbox 安装CoreOS系统,配置registry-mirror
查看>>
[POI2014]HOT-Hotels
查看>>