kafka脚本kafka-consumer-group.sh抛出等待节点分配超时

Pra*_*h M 6 java apache-kafka

我有一个 Kafka 集群,运行着 3 个代理。

<node-ip>:10092 //broker-0
<node-ip>:10093 //broker-1
<node-ip>:10094 //broker-2
Run Code Online (Sandbox Code Playgroud)

Broker-1<node-ip>:10093处于未就绪状态(由于某些就绪失败)。但其他 2 家经纪商运行良好。

但是,当我使用kafka-consumer-groups.sh带有正在运行的代理地址的脚本作为引导服务器时,出现以下错误。

kafka@mirror-maker-0:/opt/kafka/bin$ /opt/kafka/bin/kafka-consumer-groups.sh  --bootstrap-server <node-ip>:10094 --describe --group c2-c1-consumer-group --state
[2022-03-14 10:24:16,008] WARN [AdminClient clientId=adminclient-1] Connection to node 1 (/<node-ip>:10093) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
[2022-03-14 10:24:17,086] WARN [AdminClient clientId=adminclient-1] Connection to node 1 (/<node-ip>:10093) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
[2022-03-14 10:24:18,206] WARN [AdminClient clientId=adminclient-1] Connection to node 1 (/<node-ip>:10093) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
[2022-03-14 10:24:19,458] WARN [AdminClient clientId=adminclient-1] Connection to node 1 (/<node-ip>:10093) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)

Error: Executing consumer group command failed due to org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment. Call: describeGroups(api=DESCRIBE_GROUPS)
java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment. Call: describeGroups(api=DESCRIBE_GROUPS)
    at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
    at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1908)
    at org.apache.kafka.common.internals.KafkaFutureImpl.get(KafkaFutureImpl.java:165)
    at kafka.admin.ConsumerGroupCommand$ConsumerGroupService.$anonfun$describeConsumerGroups$1(ConsumerGroupCommand.scala:543)
    at scala.collection.StrictOptimizedMapOps.map(StrictOptimizedMapOps.scala:28)
    at scala.collection.StrictOptimizedMapOps.map$(StrictOptimizedMapOps.scala:27)
    at scala.collection.convert.JavaCollectionWrappers$AbstractJMapWrapper.map(JavaCollectionWrappers.scala:309)
    at kafka.admin.ConsumerGroupCommand$ConsumerGroupService.describeConsumerGroups(ConsumerGroupCommand.scala:542)
    at kafka.admin.ConsumerGroupCommand$ConsumerGroupService.collectGroupsState(ConsumerGroupCommand.scala:620)
    at kafka.admin.ConsumerGroupCommand$ConsumerGroupService.describeGroups(ConsumerGroupCommand.scala:373)
    at kafka.admin.ConsumerGroupCommand$.run(ConsumerGroupCommand.scala:72)
    at kafka.admin.ConsumerGroupCommand$.main(ConsumerGroupCommand.scala:59)
    at kafka.admin.ConsumerGroupCommand.main(ConsumerGroupCommand.scala)
Caused by: org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment. Call: describeGroups(api=DESCRIBE_GROUPS)
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我理解吗

  1. 为什么它连接到未提到的代理(日志显示 10093 但我通过了:10094)?
  2. 是否有任何解决方案仅使用提到的引导服务器?

还有一件事是,

当我使用kafka-topics.sh正在运行的代理地址作为引导服务器运行时,它会返回响应。

谢谢

小智 5

我遇到了类似的问题。我能够阅读这些主题,但无法列出、描述这些组。我通过添加一个大的超时解决了这个问题。您能否也尝试设置一个较长的超时时间?

./kafka-consumer-groups.sh --command-config kafka.properties --bootstrap-server 代理 --group 组 --describe --timeout 100000