项目说明
通过传入开始和结束时间戳,重新消费kafka历史消息。
public static void main(String[] args) {
String startTime = "2018-08-14 21:19:09"; // 开始时间
String endTime = "2018-08-14 21:20:59"; // 结束时间
// endTime = ""; // 不设置结束时间
new ReConsumerByTime().start(startTime, endTime);
}
我的kafka版本是1.1.1。用你这个还是不行呢
报啥错,贴出来帮你解决?
看了下文章,请问服务端版本是0.10.0.x,不支持offsetsForTimes,有什么别的方法实现类似功能吗?
这个就比较麻烦了,你可能要“随机”消费每个分区的消息,对比消费到的时间戳,找到对应的offset。
这个kafka是多少版本的,我找不到OffsetAndTimestamp这个方法和consumer.offsetsForTimes这个方法,我的是0.10的
Kafka 0.11.0
以上都可以。好兄弟 我报错了 Failed to get offsets by times in 60000ms
这个是网络不通,你要检查下执行环境和kafka集群之间的网络。
问题是TopicPartiton有值 但是OffsetAndTimestamp没有值 然后就一直导致获取不到 报哪个超时异常
哎 写的都不对 无语
?哪里不对
你连看都没看 就说不对?
代码没问题,可以正常使用,不要散播谣言。
我这钱付过了,怎么查看文章?
直接购买即可
老铁不太友好了,想看后面 还得收费啊
兄弟,只收1块钱,而且就1、2篇文章才收费....
我只消费一个topic中的数据,但Map.Entry entry : map.entrySet()各个分区的一直是null咋回事
到问题专区里 详细描述一下吧。
老铁,OffsetAndTimestamp这个类是因为我版本问题所以找不到吗
看来你的版本很陈旧,我记得是1.10以后才有这个的。
你这会导致这个时间段之后的也被消费
有过滤呀