问题描述
本地源码编译Nacos-1.0 master分支,配置好mysql后,作为服务中心和配置中心启动成功
但是网关应用启动时报错500 空指针异常。
failed to req API:/nacos/v1/ns/instance after all servers([127.0.0.1:8848])
网上查询说是因为以集群方式启动导致的,更改为单机模式启动即可(standalone)。
但是源码不是很熟,配置里改貌似没起效。
解决方式
方法一
临时先在nacos-console项目中的main方法里加了系统配置后,正常使用,我这里使用的是嵌入式数据库。
@SpringBootApplication(scanBasePackages = "com.alibaba.nacos")
@ServletComponentScan
@EnableScheduling
public class Nacos {
public static void main(String[] args) {
System.setProperty("nacos.standalone", "true");
SpringApplication.run(Nacos.class, args);
}
}
暂时不清楚在配置文件里配的nacos.standalone=true不生效具体原因,可能是放错了文件,有机会再填坑
方法二
(本地未编译的项目和已编译的包都有效)
添加启动参数-Dnacos.standalone=true
方法三
如果下载的是已编译完成的nacos。可以直接加命令启动
./bin/startup.sh -m standalone
统一回复下评论
- 我这个是本地源码编译启动和测试的时候遇到的问题。
- 如果是集群模式报错,建议查阅官方文档和issue,检查部署环境、配置文件、IP地址、所有的错误日志。
- 如果IP地址有问题可以参考这篇文章:https://blog.csdn.net/zimou5581/article/details/91041239