1、查看自己的springcloudalibaba的版本,找到对应的nacos版本
详情可查看:https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E
最好是找对应版本的nacos下载,比如我的springcloudalibaba版本是2021.0.4.0,那么我就去下载2.0.4版本的nacos
nacos官网 https://github.com/alibaba/nacos/tags
找到所需要的nacos版本之后,下载压缩包并解压
2、启动nacos
可以在bin目录里双击startup.cmd启动
第一次下载启动,可能启动会报错
(1)Unable to start embedded Tomcat
(检查一下有没有安装jdk,或者在环境变量中设值JAVA_HOME参数,没有则先装jdk)
修改nacos的conf目录下的cluster.conf.example文件,把文件名后缀.example去掉,剩下cluster.conf,然后修改文件里的内容,加上本机ip
(2) [db-load-error]load jdbc.properties error 或者 db.num is null
修改conf目录下的application.properties文件
一般新建一个nacos库(也可以用旧库,但配置文件里连接数据库的url得写对),然后执行conf目录下的nacos-mysql.sql文件的sql语句
直接复制文件里的sql,然后在库中执行
最后再双击startup.cmd启动nacos
浏览器中访问http://127.0.0.1:8848/nacos,账号密码都是nacos
3、在项目启动类里加上注解@EnableDiscoveryClient开启服务发现
在application.yml文件中配置服务名和nacos服务中心地址
运行项目可能会报错:
Caused by: com.alibaba.nacos.api.exception.NacosException: Nacos cluster is running with 1.X mode, can't accept gRPC request temporarily. Please check the server status or close Double write to force open 2.0 mode. Detail https://nacos.io/en-us/docs/2.0.0-upgrading.html.
at com.alibaba.nacos.client.naming.remote.gprc.NamingGrpcClientProxy.requestToServer(NamingGrpcClientProxy.java:282)
... 32 common frames omitted
Nacos2.0版本因为考虑1.x版本的升级用户。所以2.0版本启动时必须先以1.X模式启动。当集群中所有nacos client节点都达到可升级至2.0的状态时,才自动升级成2.0模式。 所以在成功升级2.0模式之前,用grpc注册的服务,在1.X模式下看不到
解决方案:
1、检查所有Nacos client 节点是否都已正常启动
2、更换 Nacos2.1版本
Nacos 2.1版本默认关闭从1.x版本升级。
详情可以参考 https://blog.csdn.net/qzlijian/article/details/124586745
可以在bin目录下cmd命令窗口使用startup.cmd -m standalone命令单机启动来解决