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

微服务registration-service启动报错:No resolvable bootstrap urls given

问题:registration-service启动失败,抛出No resolvable bootstrap urls given in bootstrap.servers错误

本地已启动Zookeeper和Kafka(版本2.12-3.3.1),监听端口9092,application.yml中配置spring.kafka.bootstrap-servers=localhost:9092,尝试改为localhost:9094后仍无效。


排查与解决步骤

1. 配置中心配置覆盖本地配置

application.yml中配置了spring.config.import: optional:configserver:http://localhost:8071/,而configserver的registration-service.properties里设置spring.kafka.bootstrap-servers=kafka:9092。本地环境若未在hosts文件映射kafka到127.0.0.1,会导致域名解析失败,无法连接Kafka。

  • 解决方式:
    • 在本地hosts文件添加127.0.0.1 kafka;
    • 修改configserver中的spring.kafka.bootstrap-servers为localhost:9092;
    • 暂时注释spring.config.import,测试本地配置是否生效。

2. Spring Kafka与Kafka版本兼容性问题

当前使用的spring-kafka版本为3.0.4,kafka-streams版本为3.4.0,两者版本不匹配,且与Kafka集群3.3.1存在跨版本差异,可能引发客户端初始化异常。Spring Boot 2.7.10默认适配的spring-kafka版本为2.9.10,对应Kafka客户端3.0.2,与Kafka 3.3.1兼容。

  • 解决方式:移除POM中spring-kafka和kafka-streams的手动版本号,依赖Spring Boot Parent自动管理版本。

3. 验证bootstrapServers配置加载正确性

在KafkaConfig中添加日志打印,确认配置值是否正确加载:

@Value("${spring.kafka.bootstrap-servers}")
private String bootstrapServers;

@PostConstruct
public void logBootstrapServers() {
    System.out.println("Loaded bootstrap servers: " + bootstrapServers);
}
  • 若打印结果为kafka:9092,说明配置中心配置生效,回到步骤1处理;
  • 若为空值,检查application.yml缩进是否正确,或是否存在其他配置覆盖。

4. 确认Kafka实际监听端口与地址

查看Kafka的server.properties中listeners配置,确认是否为PLAINTEXT://localhost:9092。同时使用命令测试端口连通性:

telnet localhost 9092
# 或
nc -zv localhost 9092

若端口不通,检查Kafka是否正常启动,或端口是否被占用。

5. 检查配置中心fail-fast配置影响

configserver配置中spring.cloud.config.fail-fast=true,若配置中心连接异常或配置拉取失败,会导致服务启动失败。可暂时将其改为false,或确保配置中心正常运行、配置可正常拉取。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 23:42:44