代码改变世界
[登录 · 注册]
  • 关于kafka重新消费数据问题
  • 我们在使用consumer消费数据时,有些情况下我们需要对已经消费过的数据进行重新消费,这里介绍kafka中两种重新消费数据的方法。

    1. 修改offset

    我们在使用consumer消费的时候,每个topic会产生一个偏移量,这个偏移量保证我们消费的消息顺序且不重复。Offest是在zookeeper中存储的,我们可以设置consumer实时或定时的注册offset到zookeeper中。我们修改这个offest到我们想重新消费的位置,就可以做到重新消费了。具体修改offest的方法这里就不详细介绍了,想了解的可以在我的博客kafka类中有相关文章,也可以点击这里了解。

    2. 通过使用不同的group来消费

    通过不同的group来重新消费数据方法简单,但我们无法指定我们要重复消费哪些数据,它会从这个groupid在zookeeper注册之后所产生的数据开始消费。这里需要注意的是新的group是重新消费所有数据,但也并非是topic中所有数据,它只会消费它在zookeeper注册过之后产生的数据。我们可以再zookeeper客户端中  /consumer/  目录下查看我们已经注册过的groupid。我们在使用consumer消费数据时如果指定一个新的groupid,那么当这个consumer被执行的时候会自动注册到zookeeper中。而这个group中的consumer之后消费到注册之后产生的数据。

    关于如何删除在zookeeper中注册的groupid,点击这里。

  • 上一篇:ArrayList、Vector、HashMap、HashTable、HashSet的默认初始容量、加载因子、扩容增量
    下一篇:HashMap实现原理分析
  • 【推广】 阿里云小站-上云优惠聚集地(新老客户同享)更有每天限时秒杀!
    【推广】 云服务器低至0.95折 1核2G ECS云服务器8.1元/月
    【推广】 阿里云老用户升级四重礼遇享6.5折限时折扣!
  • 原文:https://www.cnblogs.com/goody9807/p/7407362.html
走看看 - 开发者的网上家园