【发布时间】:2016-06-10 01:11:20
【问题描述】:
创建多个消费者(使用 Kafka 0.9 java API)并启动每个线程后,我得到以下异常
Consumer has failed with exception: org.apache.kafka.clients.consumer.CommitFailedException: Commit cannot be completed due to group rebalance
class com.messagehub.consumer.Consumer is shutting down.
org.apache.kafka.clients.consumer.CommitFailedException: Commit cannot be completed due to group rebalance
at org.apache.kafka.clients.consumer.internals.ConsumerCoordinator$OffsetCommitResponseHandler.handle(ConsumerCoordinator.java:546)
at org.apache.kafka.clients.consumer.internals.ConsumerCoordinator$OffsetCommitResponseHandler.handle(ConsumerCoordinator.java:487)
at org.apache.kafka.clients.consumer.internals.AbstractCoordinator$CoordinatorResponseHandler.onSuccess(AbstractCoordinator.java:681)
at org.apache.kafka.clients.consumer.internals.AbstractCoordinator$CoordinatorResponseHandler.onSuccess(AbstractCoordinator.java:654)
at org.apache.kafka.clients.consumer.internals.RequestFuture$1.onSuccess(RequestFuture.java:167)
at org.apache.kafka.clients.consumer.internals.RequestFuture.fireSuccess(RequestFuture.java:133)
at org.apache.kafka.clients.consumer.internals.RequestFuture.complete(RequestFuture.java:107)
at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient$RequestFutureCompletionHandler.onComplete(ConsumerNetworkClient.java:350)
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:288)
at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.clientPoll(ConsumerNetworkClient.java:303)
at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:197)
at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:187)
at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:157)
at org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.commitOffsetsSync(ConsumerCoordinator.java:352)
at org.apache.kafka.clients.consumer.KafkaConsumer.commitSync(KafkaConsumer.java:936)
at org.apache.kafka.clients.consumer.KafkaConsumer.commitSync(KafkaConsumer.java:905)
然后开始正常消费消息,我想知道是什么导致了这个异常以便修复它。
【问题讨论】:
-
雨果,你还在遇到这个问题吗?你能提供更多信息吗?
-
是的@nautilus,我仍然有这个问题。我有 3 个消费者,都在同一个消费者组中,我有一个有 20 个分区的主题,应该从中读取数据。这个异常是随机发生的,但是消费者可以从主题/分区中读取数据,尽管这个异常被触发了。
-
消费者只是在消费数据还是也在处理数据?我在您的堆栈跟踪中看到,当您尝试提交同步偏移量时会发生异常,您能否描述在消息的消耗和偏移量的提交之间发生了什么?我认为您的消费者可能会失去与协调员的心跳。
-
消费消息后已经提交了偏移量,但仍然出现异常。换句话说,无论是否触发异常,都会消耗所有消息。
标签: java apache-kafka kafka-consumer-api