Dav*_*Mar 3 java apache-kafka apache-storm apache-zookeeper
我们正在使用Storm与Kafka和ZooKeeper.我们遇到了一种情况,我们不得不删除一些主题并用不同的名称重新创建它们.除了从新主题名称中读取之外,我们的卡夫卡鲸鱼喷水保持不变.但是现在,当尝试从新主题中读取时,spouts正在使用旧主题分区的偏移量.因此,my-topic-name分区0的尾部位置将为500,但偏移量将为10000.
有没有办法重置偏移位置,以便它匹配主题的尾部?
有多个选项(因为Storm KafkaSpout没有提供任何API来定义起始偏移).
__consumer_offsets(这也很棘手,也可能删除你想要保留的其他偏移量)seek()以您需要的方式和commit()偏移量来操纵偏移量.此客户端必须使用与您相同的组ID,KafkaSpout并且必须订阅相同的主题.此外,您需要确保此客户端应用程序正在运行单个使用者组成员,以便分配所有分区.
对于Kafka Streams,有一个"应用程序重置工具",可以执行类似的操作来处理已提交的偏移量.如果您想获得一些细节,可以阅读这篇博客文章http://www.confluent.io/blog/data-reprocessing-with-kafka-streams-resetting-a-streams-application/
(免责声明:我是帖子的作者,它是关于Kafka Streams的 - 但是,基本的偏移操作思想是相同的)
| 归档时间: |
|
| 查看次数: |
3159 次 |
| 最近记录: |