[英]Kafka Spout read twice message on Storm Topology
我正在尝试使用Kafka to Storm模拟流流量。 我使用KafkaSpout从生产者发送的一个主题中读取一条消息,该生产者阅读了这些推文并将其发送给一个主题。 我的问题是,拓扑消耗了该主题中发送的所有tweet之后,它将继续读取该主题中的消息两次。 如何阻止KafkaSpout读取两次?(复制因子设置为1)
配置对我来说很好。
也许问题是重复的。 确保在execute
只确认每个元组一次。
如评论中所述,请考虑升级到较新的Kafka版本,以及切换到storm-kafka-client
。
还有一些可能会使您的生活更轻松的事情:考虑扩展BaseBasicBolt
而不是BaseRichBolt
。 如果运行execute
不会引发错误, BaseBasicBolt
自动为您修改元组。 如果要使元组失败,可以抛出FailedException
。 仅当您要执行更复杂的确认时才应使用BaseRichBolt
,例如在确认之前从内存中的许多execute
调用中聚合元组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.