You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows环境下Kafka向MCHVAS主题发消息超时报错求助

Kafka生产者发送消息超时问题解决

问题重现

Windows环境下执行Kafka生产者命令发送消息到主题MCHVAS:

kafka-console-producer.bat --broker-list localhost:9092 --topic MCHVAS
>mamma mia

触发超时错误:

[2023-09-24 14:06:17,510] ERROR Error when sending message to topic MCHVAS with key: null, value: 9 bytes with error: (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)
org.apache.kafka.common.errors.TimeoutException: Expiring 1 record(s) for MCHVAS-0:120012 ms has passed since batch creation

环境信息

Kafka服务器配置

listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://localhost:9092

主题详情

执行描述命令输出:

C:\Apache\kafka_2.13-3.5.1\bin\windows>kafka-topics.bat --describe --bootstrap-server localhost:9092 --topic MCHVAS
Topic: MCHVAS   TopicId: 2TMVGbecTdq3SuR-kK6R8A 
PartitionCount: 1       
ReplicationFactor: 1    Configs:
    Topic: MCHVAS   Partition: 0    Leader: none    Replicas: 0     Isr: 0

主题列表输出:

C:\Apache\kafka_2.13-3.5.1\bin\windows>kafka-topics.bat --list --bootstrap-server localhost:9092
MCHVAS
__consumer_offsets

核心原因

从主题描述结果可直接判定:主题MCHVAS的分区0没有可用的Leader节点,虽然副本(Replicas)和同步副本集(ISR)标注为0,但该副本并未处于运行状态。这说明Kafka Broker未正常启动,或者主题创建后Broker未完成分区Leader的选举流程。

解决步骤

  1. 确认Kafka Broker运行状态

    • 查看启动Kafka的终端窗口,检查是否有启动失败的报错信息。
    • 若Broker未启动,先启动ZooKeeper(默认依赖),再启动Broker:
      # 启动ZooKeeper
      zookeeper-server-start.bat ..\..\config\zookeeper.properties
      # 启动Kafka Broker
      kafka-server-start.bat ..\..\config\server.properties
      
  2. 等待Leader选举完成
    Broker启动后,等待1-2分钟让Kafka完成分区Leader选举,再次执行主题描述命令:

    kafka-topics.bat --describe --bootstrap-server localhost:9092 --topic MCHVAS
    

    当输出中Leader和Isr字段均显示为0时,说明Leader已正常就位。

  3. 重新测试消息发送
    再次运行生产者命令,确认消息能正常发送。

备选方案(若上述步骤无效)

  • 删除现有主题并重新创建:
    kafka-topics.bat --delete --bootstrap-server localhost:9092 --topic MCHVAS
    kafka-topics.bat --create --bootstrap-server localhost:9092 --topic MCHVAS --partitions 1 --replication-factor 1
    
  • 检查server.properties中的log.dirs配置,确保该目录存在且拥有读写权限,避免因日志目录异常导致Broker无法加载分区。

内容的提问来源于stack exchange,提问作者Andrea Rosin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 11:58:25