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

Kafka连接Neo4j时Schema Registry容器启动失败求助

解决Schema Registry启动报错"No supported Kafka endpoints are configured"的方案
  • 检查Kafka服务可达性
    确认docker-compose中Kafka的服务名与Schema Registry配置的SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS参数匹配,比如Kafka服务名为kafka,则配置值应为kafka:9092(容器内部通过服务名通信,不能用localhost)。同时查看Kafka容器日志(docker logs <kafka-container-id>),确认Kafka已完成初始化并正常监听端口。

  • 修正Schema Registry核心配置
    确保Schema Registry的环境变量中正确设置Kafka存储地址,避免参数混淆。正确的配置示例:

    schema-registry:
      image: confluentinc/cp-schema-registry:7.4.0
      environment:
        SCHEMA_REGISTRY_HOST_NAME: schema-registry
        SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:9092
        SCHEMA_REGISTRY_LISTENERS: http://0.0.0.0:8081
      depends_on:
        - kafka
    

    注意Confluent Schema Registry使用SCHEMA_REGISTRY_前缀的参数,不要误用KAFKA_前缀的配置项。

  • 优化容器启动顺序
    仅靠depends_on无法保证Kafka完全就绪,给Kafka添加健康检查,并让Schema Registry等待Kafka就绪后启动:
    Kafka的健康检查配置:

    kafka:
      image: confluentinc/cp-kafka:7.4.0
      # 保留原有其他配置
      healthcheck:
        test: ["CMD", "kafka-topics", "--list", "--bootstrap-server", "localhost:9092"]
        interval: 10s
        timeout: 5s
        retries: 5
    

    Schema Registry的依赖配置调整:

    schema-registry:
      # 保留原有其他配置
      depends_on:
        kafka:
          condition: service_healthy
    
  • 验证Docker网络一致性
    确认Kafka、Schema Registry、Neo4j所有组件都在同一个Docker网络中。若使用自定义网络,需确保所有服务都明确指定该网络;默认网络下可通过docker inspect <network-name>检查容器是否已加入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 01:25:18