关于kafka重新消费数据问题
2016-08-25 22:58
381 查看
我们在使用consumer消费数据时,有些情况下我们需要对已经消费过的数据进行重新消费,这里介绍kafka中两种重新消费数据的方法。
1. 修改offset
我们在使用consumer消费的时候,每个topic会产生一个偏移量,这个偏移量保证我们消费的消息顺序且不重复。Offest是在zookeeper中存储的,我们可以设置consumer实时或定时的注册offest到zookeeper中。我们修改这个offest到我们想重新消费的位置,就可以做到重新消费了。具体修改offest的方法这里就不详细介绍了,想了解的可以在我的博客kafka类中有相关文章,也可以点击这里了解。
2. 通过使用不同的group来消费
通过不同的group来重新消费数据方法简单,但我们无法指定我们要重复消费哪些数据,它会从这个groupid在zookeeper注册之后所产生的数据开始消费。这里需要注意的是新的group是重新消费所有数据,但也并非是topic中所有数据,它只会消费它在zookeeper注册过之后产生的数据。我们可以再zookeeper客户端中
/consumer/ 目录下查看我们已经注册过的groupid。我们在使用consumer消费数据时如果指定一个新的groupid,那么当这个consumer被执行的时候会自动注册到zookeeper中。而这个group中的consumer之后消费到注册之后产生的数据。
关于如何删除在zookeeper中注册的groupid,点击这里。
1. 修改offset
我们在使用consumer消费的时候,每个topic会产生一个偏移量,这个偏移量保证我们消费的消息顺序且不重复。Offest是在zookeeper中存储的,我们可以设置consumer实时或定时的注册offest到zookeeper中。我们修改这个offest到我们想重新消费的位置,就可以做到重新消费了。具体修改offest的方法这里就不详细介绍了,想了解的可以在我的博客kafka类中有相关文章,也可以点击这里了解。
2. 通过使用不同的group来消费
通过不同的group来重新消费数据方法简单,但我们无法指定我们要重复消费哪些数据,它会从这个groupid在zookeeper注册之后所产生的数据开始消费。这里需要注意的是新的group是重新消费所有数据,但也并非是topic中所有数据,它只会消费它在zookeeper注册过之后产生的数据。我们可以再zookeeper客户端中
/consumer/ 目录下查看我们已经注册过的groupid。我们在使用consumer消费数据时如果指定一个新的groupid,那么当这个consumer被执行的时候会自动注册到zookeeper中。而这个group中的consumer之后消费到注册之后产生的数据。
关于如何删除在zookeeper中注册的groupid,点击这里。
相关文章推荐
- 关于kafka重新消费数据问题
- zookeeper删除kafka元数据,解决kafka无法消费数据的问题
- Kafka重复消费和丢失数据问题
- 关于iOS11上MJRefresh tabview刷新后,重新加载另一组数据, 回不到顶部或者头尾显示混乱等问题解决
- SparkStreaming消费Kafka数据遇到的问题
- 关于kafka内存溢出,和数据不能写入问题
- 关于Spark Streaming微批次,Flink真正流处理 消费Kafka数据,处理数据的差距对比
- 关于使用百度富文本编辑器UE重新加载数据的问题
- 关于mysql数据库中数据输入问题
- 关于mysql数据库中数据输入问题
- 在学习.net中的小问题,关于oledb 的日期数据类型
- 关于"无法验证数据"的问题
- 一个关于 客户端非法取消正在进行的数据提交操作 的问题 的讨论
- 关于对日期类型的数据进行模糊查询的问题
- asp关于田字数据显示问题
- 关于 WebClient类和HttpRequest的方式下载数据的问题
- 关于重新指定Dll入口的问题
- 请问关于在开发BS系统中,遇到了上传服务器数据的问题
- 一组关于手持移动设备使用安全问题的统计数据
- [导入]关于DATAGRID数据更改时点2次/行号跟不准/失去焦点/丢失e等一系列问题的解决办法: