kafka commit 偶发异常,可能的原因是?
当执行 KafkaConsumer.commitSync()方法时,偶然情况下会出现异常:
Offset commit failed on partition xxx-0 at offset xxx: The coordinator is not aware of this member.
请问这个错误的原因是什么?
当出现这个错误的时候, 需要客户端进行什么样的处理?
谢谢!
附:
kafka版本为:3.4.0运行环境:docker
kafka只有一个节点
出错的TOPIC只有一个分区
出错的消费者组,也只有这一个消费者
参考了另一个问题解答 https://segmentfault.com/q/1010000042897726
但我的kafka server配置为:offsets.topic.replication.factor=1
4月14日 补充:
一个原因可能是 提交超时, 即从kafkaConsumer.poll() 到 kafkaConsumer.commitSync();之间时间过长导致。 但我的代码中,任务是被提交到一个线程池中执行的,而线程池用的是 Executors.newFixedThreadPool(),其使用了 无界任务队列,理论上不可能存在 线程池满导致提交线程池阻塞、或者线程池任务被放在调用线程上执行的问题。
所以,这个超时也是个奇怪的问题。
4月19日补充:
kafka-client的版本是 2.0.0, kafka-server版本是 3.4.0
Consumer的配置:
props.put("bootstrap.servers", serverAddress);props.put("group.id", "类似uuid,重复的可能极小");
props.put("max.poll.records", "1");
props.put("enable.auto.commit", "false");
props.put("session.timeout.ms", "30000");
props.put("auto.offset.reset", "latest");
props.put("key.deserializer", StringDeserializer.class.getName());
props.put("value.deserializer", StringDeserializer.class.getName());
以上是 kafka commit 偶发异常,可能的原因是? 的全部内容, 来源链接: utcz.com/p/945087.html