flume与kafka
来源:互联网 发布:telnet查端口linux 编辑:程序博客网 时间:2024/05/21 00:49
摘要: (1)kafka和flume都是日志系统。kafka是分布式消息中间件,自带存储,提供push和pull存取数据功能。flume分为agent(数据采集器),collector(数据简单处理和写入),storage(存储器)三部分,每一部分都是可以定制的。比如agent采用RPC(Thrift-RPC)、text(文件)等,storage指定用hdfs做。
(2)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的方式。
转自:http://my.oschina.NET/frankwu/blog/355298
- Flume与Kafka整合
- Kafka 与 Flume 对比
- Flume与Kafka整合
- Flume与Kafka集成
- 使用Kafka与Flume
- Flume与Kafka比较
- flume与kafka区别
- Flume与Kafka整合
- flume与kafka整合
- flume与kafka
- Flume,Kafka与Storm整合
- flume-ng与kafka整合
- Kafka 与 Flume 如何选择
- flume与kafka的整合
- 【采集层】Kafka 与 Flume 如何选择
- 【采集层】Kafka 与 Flume 如何选择
- 0129 Kafka 与 Flume 如何选择
- flume与kafka联调测试
- h5软键盘问题
- rigdbody为kinematic时,OnTriggerEnter OnCollisionEnter 总结(三)
- servlet创建增删该查和servlet实现echarts多条折线图
- 磁盘配额
- JS正则表达式
- flume与kafka
- Redis主从同步分析
- SQL distinct去重并排序失败
- C#(4)-------处理/Date(1502326189000)/格式数据
- [结论] LibreOJ #520. 「LibreOJ β Round #3」绯色 IOI(开端)
- Bash Shell环境
- SpringMvc之参数绑定注解详解
- 设计模式之对象行为型模式 — COMMAND (命令)模式
- maven学习笔记(四) 使用maven命令创建项目