Storm Kafka Spout不在本地集群中提交偏移量,spout重复检索相同的消息

时间:2015-02-06 11:16:57

标签: apache-kafka apache-storm kafka-consumer-api

我设置了风暴拓扑,它从kafka服务器获取输入数据。我用kafka-storm包来获取数据。我已经在本地集群中成功实现了kafka服务器和风暴拓扑之间的连接,但是我在从kafka服务器检索数据时遇到了一些问题。

kafka Spout在运行时重复检索相同的消息,即使我设置了spoutconfig.forceFromStart=falsespoutconfig.startOffsetTime =-1

注意:当我停止并重新启动群集时,数据会根据最新的偏移量正确发送。

1 个答案:

答案 0 :(得分:2)

我自己想通了,问题在于outputcollector ack()方法。我用BaseBasicBolt实现了螺栓收集器,它没有承认kafkaspout。我已使用BaseRichBolt替换并手动设置this.collector.ack(tuple)

现在工作正常