kafka consumer offset out of range错误

今天,接收到线上kafka队列中salogTopic 的消息数阻塞了,消费停滞,具体log如下:
[2016-10-27 11:19:13,814] ERROR [ReplicaFetcherThread-3-1], Current offset 68632 for partition [salogTopic,1] out of range; reset offset to 86667 (kafka.server.ReplicaFetcherThread)
已邀请:

Ansible - 项目实施 系统工程师

赞同来自: 小白菜

发生这个问题的原因,可能是如下两个问题:
  1. partition 1里面没有偏移量为68632到86667的消息了
  2. parition 1的消息被删除了

 
你可以利用命令:
bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list <broker-ip:9092> --topic <topic-name> --time -2
查看一下你topic的每个partition的偏移量,然后设置consumer的参数:
auto.offset.reset=smallest

如果设置为largest,可以看到consumer不会处理以前发送的消息,只会处理新进的消息。
如果设置为smallest,consumer从头开始所有的消息。
 
如果设置之后还不行,只能到zookeeper里面删除这个topic的group id,然后重启consumer,重新注册group id。
 

Ansible - 项目实施 系统工程师

赞同来自:

还是 重启解决了,我本地,哎好吧。

要回复问题请先登录注册