关于auto.offset.reset的一些问题

来源:互联网 发布:淘宝内置密码有什么用? 编辑:程序博客网 时间:2024/06/06 01:53

转自:http://blog.csdn.net/luoww1/article/details/52023967

关于auto.offset.reset的一些问题

auto.offset.reset 默认值为largest,那么auto.offset.reset 有什么作用呢?auto.offset.reset定义了Consumer在ZooKeeper中发现没有初始的offset时或者发现offset非法时定义Comsumer的行为,常见的配置有:

  1. smallest : 自动把offset设为最小的offset;
  2. largest : 自动把offset设为最大的offset;
  3. anything else: 抛出异常;

遇到过这种情况:先produce一些数据,然后停止produce数据的线程——〉然后再用consumer上面的代码消费数据,发现无数据可消费

其原因在于:初始的offset默认是非法的,而auto.offset.reset 默认值为largest,表示自动把offset设为最大的offset,由于此时没有生产者向kafka push数据,当然没有数据可以消费了。如果此时有生产者向kafka push数据,那么该代码可以从最新位置消费数据。





原创粉丝点击