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

Kafka生产者消息发送超时、消费者无法接收问题求助

Kafka生产者发送消息超时问题排查求助

问题现象

  • 生产者发送消息超时,报错信息:
Expiring 2 record(s) for catering-0:120012 ms has passed since batch creation
  • 消费者完全接收不到消息
  • 应用启动后第一分钟会出现以下连接错误,之后显示连接成功:
[AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.

配置变更过程

初始配置(wurstmeister镜像)

因无法同时通过localhost和容器内部连接Kafka,更换了镜像及配置。初始docker-compose配置如下:

zookeeper:
  image: wurstmeister/zookeeper
  container_name: zookeeper
  ports:
    - "2181:2181"
  restart: always
  
kafka:
  image: wurstmeister/kafka
  container_name: kafka
  ports:
    - "9092:9092"
  depends_on:
    - zookeeper
  restart: always
  environment:
    # KAFKA_ADVERTISED_HOST_NAME: kafka
    KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1
    KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    KAFKA_CREATE_TOPICS: "test_topic:1:3"

修改后配置(confluentinc镜像)

更换为confluentinc镜像后的docker-compose配置:

zookeeper1:
  image: confluentinc/cp-zookeeper
  container_name: zookeeper
  ports:
    - "2181:2181"
  restart: always
  environment:
    ZOOKEEPER_CLIENT_PORT: 2181
    ZOOKEEPER_TICK_TIME: 2000
    ZOOKEEPER_SYNC_LIMIT: 2

kafka1:
  image: confluentinc/cp-kafka
  container_name: kafka
  ports:
    - target: 9094
      published: 9094
      protocol: tcp
      mode: host
  depends_on:
    - zookeeper1
  environment:
    KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    KAFKA_LISTENERS: INTERNAL://0.0.0.0:9092,OUTSIDE://0.0.0.0:9094
    KAFKA_ADVERTISED_LISTENERS: INTERNAL://kafka:9092,OUTSIDE://localhost:9094
    KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL:PLAINTEXT,OUTSIDE:PLAINTEXT
    KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL
    KAFKA_CREATE_TOPICS: "catering:1:3"

仅修改了消费者和生产者的端口配置,但问题依旧;回退至初始配置后,问题仍未解决。

生产者配置

kafka:
  producer:
    bootstrap-servers: localhost:9094
    key-serializer: org.apache.kafka.common.serialization.StringSerializer
    value-serializer: org.springframework.kafka.support.serializer.JsonSerializer

消费者配置

kafka:
  consumer:
    bootstrap-servers: localhost:9094
    group-id: json
    auto-offset-reset: earliest
    key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
    value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer

恳请帮忙排查解决该问题。

内容的提问来源于stack exchange,提问作者Орорп Орол

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 06:36:22