使用Kafka将数据导入Hadoop
首先,我正在考虑如何使用Hadoop将事件存储到Hadoop中,并将定期对其进行分析(可能使用Ooozie安排定期分析)Kafka或Flume,以及认为Kafka可能是更好的解决方案,因为我们也有一个组件可以处理事件,所以批处理和事件处理组件都以相同的方式获取数据。使用Kafka将数据导入Hadoop
但知道我正在寻找具体的建议如何将数据从经纪人获取到Hadoop。
我发现here该水槽可以组合使用,卡夫卡
- 水槽 - 包括卡夫卡源(消费者)和沉(制片人)
而且也是在同一页上,并在发现Kafka documentation,有一种叫做Camus
- 加缪 - LinkedIn的卡夫卡=> HDFS管道。这一个用于LinkedIn的所有数据,并且效果很好。
我对什么会更好(更简单,更好的文档化解决方案)这样做感兴趣?另外,有没有任何例子或教程如何做到这一点?
什么时候应该使用这个变种更简单,高级消费者?
如果有另一个/更好的解决方案比这两个我打开的建议。
感谢
您可以使用水槽从卡夫卡转储数据到HDFS。 Flume有卡夫卡源和接收器。其属性文件更改的问题。下面给出一个例子。
步骤:
使用卡夫卡控制台生产者
kafka-console-producer --broker-list localhost:9092 --topic testkafka
-
配置水槽剂具有以下属性
创建卡夫卡主题
kafka-topics --create --zookeeper localhost:2181 --replication-factor 1 -- partitions 1 --topic testkafka 写入上面创建的主题
flume1.sources =卡夫卡源-1
flume1.channels = HDFS沟道1
flume1.sinks = HDFS散热器-1
flume1.sources.kafka - 源1.型号=组织.apache.flume.source.kafka。KafkaSource
flume1.sources.kafka - 源1.zookeeperConnect =本地主机:2181
flume1.sources.kafka - 源1.topic = testkafka
flume1.sources.kafka - 源1.batchSize = 100
flume1.sources.kafka - 源1.channels = HDFS沟道1
flume1.channels.hdfs沟道1.型号=存储器
flume1.sinks.hdfs-sink-1.channel = HDFS -channel-1
flume1.sinks.hdfs-sink-1.type = hdfs
flume1.sinks.hdfs-sink-1.hdfs.writeFormat = Text
flume1.sinks.hdfs-sink-1.hdfs.fileType = DataStream
flume1.sinks.hdfs-sink-1.hdfs.filePrefix = test-events
flume1.sinks.hdfs-sink-1.hdfs。 useLocalTimeStamp = true
flume1.sinks.hdfs-sink-1.hdfs.path =/tmp/kafka /%{topic} /%y-%m-%d
flume1.sinks.hdfs-sink-1.hdfs .rollCount = 100
flume1.sinks.hdfs灌入1.hdfs.rollSize = 0
flume1.channels.hdfs沟道1.capacity = 10000
flume1.channels.hdfs沟道1.transactionCapacity = 1000
保存上述配置文件作为example.conf
- 运行水槽剂
flume-ng agent -n flume1 -c conf -f example.conf - Dflume.root.logger=INFO,console
数据现在将转储到HDFS位置以下路径下
/tmp/kafka /%{topic} /%y-%m-%d
还没有尝试过,但我会相信你: ) – Marko 2016-02-03 15:38:49
至少在我的情况下,主题块在目标路径中填充了一个空值...官方水道文档没有列出“主题”景观序列。你试过了吗?我需要它的工作。谢谢 – dhalfageme 2016-10-19 07:41:19
查看最新Kafka用户群聚会上的视频以获得一些提示:http://www.hakkalabs.co/文章/ kafka-hadoop-2 – Lundahl 2014-11-04 20:15:19
谢谢,这是一个伟大的视频。如果你有一些具体的教程,也许它会很棒。 – Marko 2014-11-05 10:49:33
@abeaamase感谢您的回答,但您的链接似乎被破坏了? – Marko 2014-11-24 14:12:00