大数据摄取 - Flafka用例

时间:2016-11-07 17:32:02

标签: hadoop apache-kafka flume-ng

我已经看到大数据社区在使用Flafka进行数据摄取方面非常热门,但我还没有真正理解为什么。

我为了更好地理解这一点而开发的一个简单示例是获取Twitter数据并将其移动到多个接收器(HDFS,Storm,HBase)。

我已通过以下两种方式完成提取部分的实施: (1)普通卡夫卡Java制作人与多个消费者(2)Flume代理#1(Twitter源+卡夫卡接收器)| (潜在的)Flume agent#2(Kafka源+多个接收器)。我没有真正看到开发任何这些解决方案的复杂性有任何差异(不是我不能评论性能的生产系统) - 只有我在网上找到的是Flafka的一个很好的用例是来自多个数据需要在不同地方消费之前聚集在一个地方的消息来源。

有人可以解释为什么我会使用Flume + Kafka而不是普通的Kafka或普通的Flume?

1 个答案:

答案 0 :(得分:2)

人们通常将Flume和Kafka结合使用,因为 Flume 有一套很棒的(经过实战考验的)连接器(HDFS,Twitter,HBase等)和< strong> Kafka 带来弹性。此外,Kafka还帮助在节点之间分发Flume事件。

编辑:

  

Kafka在每个主题的分区中复制日志   可配置的服务器数量(您可以设置此复制因子   逐个主题的基础)。这允许自动故障转移到这些   群集中的服务器出现故障时,副本仍然存在   在出现故障时可用。 - https://kafka.apache.org/documentation#replication

因此,只要Flume收到消息给Kafka,您就可以保证您的数据不会丢失。注意:您可以在摄取的每个阶段将Kafka与Flume集成(即Kafka也可以用作源,通道和接收器)。