使用.NET Aspire时Schema Registry无法连接KRaft模式Kafka的问题排查
可行测试方案
1. 验证Kafka容器内部访问性
- 进入Schema Registry容器内部,用Kafka服务名而非
localhost测试连通性:
注:docker exec -it <schema-registry-container-id> bash kafka-topics --list --bootstrap-server <kafka-service-name>:9092<kafka-service-name>是Aspire生成的Kafka服务名称(如kafka),容器内部默认使用9092端口通信,而非宿主映射的29092。
2. 修正Kafka监听器与广告地址配置
当前KAFKA_ADVERTISED_LISTENERS配置会导致容器内服务无法正确寻址Kafka,需调整为:
KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092,PLAINTEXT_HOST://0.0.0.0:29092KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://<kafka-service-name>:9092,PLAINTEXT_HOST://localhost:29092
3. 检查Schema Registry核心配置
- 确保
KAFKA_BOOTSTRAP_SERVERS和SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS均指向<kafka-service-name>:9092,而非localhost:29092。 - 确认
SCHEMA_REGISTRY_HOST_NAME设置为Schema Registry的服务名(如schema-registry)。
4. 测试容器间网络连通性
- 在Schema Registry容器内ping Kafka服务名,验证DNS解析:
ping <kafka-service-name> - 用nc工具测试端口开放情况:
nc -zv <kafka-service-name> 9092
5. 排查日志细节
- 查看Kafka容器日志,确认监听器正常启动:
需找到类似docker logs <kafka-container-id>Listening on PLAINTEXT://0.0.0.0:9092的日志条目。 - 查看Schema Registry日志,定位具体错误(如DNS解析失败、连接超时):
docker logs <schema-registry-container-id>
6. 简化配置做基础验证
暂时脱离Aspire,用Docker Compose手动启动服务验证配置有效性:
version: '3' services: kafka: image: confluentinc/confluent-local:7.6.0 ports: - "29092:29092" environment: KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092,PLAINTEXT_HOST://0.0.0.0:29092 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 KAFKA_CONTROLLER_QUORUM_VOTERS: 1@kafka:9093 KAFKA_LISTENERS_CONTROLLER: CONTROLLER://0.0.0.0:9093 KAFKA_ADVERTISED_LISTENERS_CONTROLLER: CONTROLLER://kafka:9093 schema-registry: image: confluentinc/cp-schema-registry:7.6.1 ports: - "8081:8081" environment: SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: PLAINTEXT://kafka:9092 SCHEMA_REGISTRY_HOST_NAME: schema-registry SCHEMA_REGISTRY_LISTENERS: http://0.0.0.0:8081 depends_on: - kafka
启动后测试Schema Registry状态:
curl http://localhost:8081/subjects
若返回空数组或正常响应,说明基础配置无问题,再回到Aspire同步配置。
内容的提问来源于stack exchange,提问作者Erik83
相关产品推荐
相关产品推荐

