为了账号安全,请及时绑定邮箱和手机立即绑定

Kafka Spout 在 Storm Topology 上读取了两次消息

Kafka Spout 在 Storm Topology 上读取了两次消息

慕妹3146593 2022-12-15 14:53:37
我正在尝试使用 Kafka 模拟流流量到 Storm。我使用 KafkaSpout 从生产者发送的一个主题中读取一条消息,生产者阅读这些推文并将它们发送到一个主题。我的问题是,在拓扑消耗了该主题中发送的所有推文后,它继续读取该主题中的消息两次。如何阻止 KafkaSpout 读取两次?(复制因子设置为 1)
查看完整描述

1 回答

?
蓝山帝景

TA贡献1843条经验 获得超7个赞

配置对我来说很好。

也许问题是双重确认。确保你只在 acking 每个元组一次execute

如评论中所述,请考虑升级到更新的 Kafka 版本,以及切换到storm-kafka-client.

还有一些可能会让您的生活更轻松的事情:考虑扩展BaseBasicBolt而不是BaseRichBoltBaseBasicBolt如果运行execute没有抛出错误,它会自动为您确认元组。如果你想让一个元组失败,你可以抛出FailedExceptionBaseRichBolt只有当你想做更复杂的确认时才应该使用,例如,execute在确认之前从内存中的许多调用中聚合元组。


查看完整回答
反对 回复 2022-12-15
  • 1 回答
  • 0 关注
  • 54 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信