kafka设置从指定偏移量读取数据失效

  今天公司etl组件kafkainput从指定偏移量读取数据失效,还是从最新的偏移量开始读取数据,检测发现是因为auto.offset.reset属性在作怪,这个属性默认是latest,说明如下:
  该属性指定了消费者在读取一个没有偏移量的分区或者偏移量无效的情况下(因消费者长时间失效,包含偏移量的记录已经过时并被删除)该作何处理。它的默认值是latest,意思是说,在偏移量无效的情况下,消费者将从最新的记录开始读取数据(在消费者启动之后生成的记录)。另一个值是earliest,意思是说,在偏移量无效的情况下,消费者将从起始位置读取分区的记录。

就是因为我设置进去的起始偏移量0,已经不存在了,是无效偏移量,于是上面的参数就生效了,于是数据就消费最新的数据(从启动消费者时刻后生产的数据)。

解决办法;
  把这个参数加上,auto.offset.reset=earliest,然后如果起始偏移量不生效,就从最开始时读取数据。
  理想的方式应该是偏移量失效的情况下,自动从大于设置偏移量的最小的有效偏移量开始。
  等等,那上面的解决办法不是一样的吗?太好了,什么代码都不用改了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值