java - 为组 xxx 提交偏移量时发生错误 UNKNOWN_MEMBER_ID

标签 java apache-kafka kafka-consumer-api

使用 Kafka 客户端 Java 库,消费日志已经工作了一段时间,但由于以下错误,它不再工作了:

2016-07-15 19:37:54.609  INFO 4342 --- [main] o.a.k.c.c.internals.AbstractCoordinator  : Marking the coordinator 2147483647 dead.
2016-07-15 19:37:54.933 ERROR 4342 --- [main] o.a.k.c.c.internals.ConsumerCoordinator  : Error UNKNOWN_MEMBER_ID occurred while committing offsets for group logstash
2016-07-15 19:37:54.933  WARN 4342 --- [main] o.a.k.c.c.internals.ConsumerCoordinator  : Auto offset commit failed: Commit cannot be completed due to group rebalance
2016-07-15 19:37:54.941 ERROR 4342 --- [main] o.a.k.c.c.internals.ConsumerCoordinator  : Error UNKNOWN_MEMBER_ID occurred while committing offsets for group logstash
2016-07-15 19:37:54.941  WARN 4342 --- [main] o.a.k.c.c.internals.ConsumerCoordinator  : Auto offset commit failed:
2016-07-15 19:37:54.948  INFO 4342 --- [main] o.a.k.c.c.internals.AbstractCoordinator  : Attempt to join group logstash failed due to unknown member id, resetting and retrying.

它一直在重置。

运行同一应用程序的另一个实例会立即出现错误。

我怀疑 Kafka 或它的 ZooKeeper 有问题,但没有错误日志。

有人知道这里发生了什么吗?

这是我正在使用的应用程序:https://github.com/izeye/log-redirector

最佳答案

我刚刚遇到了同样的问题。我一直在调查,在this线程和 this wiki 你可以找到解决方案。

问题似乎是批处理的处理时间比 session 超时时间长。 要么增加 session 超时或轮询频率,要么限制接收的字节数。

对我有用的是更改 max.partition.fetch.bytes。但您也可以修改 session.timeout.ms 或您传递给 consumer.poll(TIMEOUT)

的值

关于java - 为组 xxx 提交偏移量时发生错误 UNKNOWN_MEMBER_ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38394662/

相关文章:

java - 用java封装linux过滤器

apache-kafka - 在 Windows 机器上设置并运行 KSQL

apache-kafka - Kafka Stream Suppress 在窗口化后不产生输出

java - 卡夫卡 : What is new API for ConsumerConnector in version 0. 11

java - 带有外部 JAR 的 Spring Boot 获取 NoClassDefFoundError

java - 如何将 HttpSession 从 WildFly 外部化到 Redis? (不包括 Spring session )

java - 为什么 Dijkstra 的这个实现不起作用?

apache-kafka - Kafka 文件流

java - 卡夫卡 0.8.2 消费者

java.lang.ClassCastException :xx cannot be cast to org. apache.avro.generic.IndexedRecord