简体   繁体   English

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

[英]Storm Kafka Spout not commit offset in local cluster , spout retrieves same message repeatedly

I have set storm topology which gets input data from kafka server. 我设置了风暴拓扑,该拓扑从kafka服务器获取输入数据。 I used kafka-storm package to get data. 我使用kafka-storm包来获取数据。 I have implemented the connection between kafka server and storm topology succesfully in local cluster, but i am facing some issues in retrieving data from kafka server. 我已经成功地在本地群集中实现了卡夫卡服务器与风暴拓扑之间的连接,但是在从卡夫卡服务器检索数据时遇到了一些问题。

kafka Spout retrieves same message repeatedly at runtime even i set spoutconfig.forceFromStart=false and spoutconfig.startOffsetTime =-1 即使我设置了spoutconfig.forceFromStart=falsespoutconfig.startOffsetTime =-1 kafka Spout也会在运行时重复检索相同的消息。

Note : When i stop and restart the cluster the data is sent correctly based on the lastest offset. 注意:当我停止并重新启动集群时,将根据最新的偏移量正确发送数据。

I figured out by myself, the issue is with outputcollector ack() method. 我自己弄清楚,问题出在outputcollector ack()方法上。 I have implemented the bolt collector with BaseBasicBolt , it didn't acknowledge the kafkaspout. 我已经用BaseBasicBolt实现了螺栓收集器,但它没有意识到kafkaspout。 I have replace with BaseRichBolt and made this.collector.ack(tuple) manually. 我已替换为BaseRichBolt并手动制作了this.collector.ack(tuple)

Now its work fine 现在工作正常

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM