一、前言
前几天终于学完了Spring Cloud全家桶,于是趁热打铁趁着情绪高昂,开始学习Spring Cloud Alibaba,谁知道上来第一步使用Nacos进行服务注册及中心配置就出现了一堆问题,下面就说一下在win10环境下启动Nacos报错的一系列解决方案
二、关于安装
本着"当然是用最新的"的原则,我打开了Nacos的官网:https://nacos.io,找到了Nacos的最新版本1.3.2:https://github.com/alibaba/nacos/releases/tag/1.3.2,下载好zip包后解压,兴致勃勃打开cmd,切换到${nacos-home}/bin
下运行startup.cmd脚本,劈里啪啦一堆错,自闭。。。
三、报错信息及解决方案
-
Unable to start embedded Tomcat
不能启动内置的Tomcat,打开
${nacos-home}/bin/work/Tomcat/localhost/nacos
文件夹,发现里面居然是空的,然后在nacos安装文件夹下找啊找,发现${nacos-home}/target
下有nacos-server.jar
这样一个jar包,于是把这个jar包放到${nacos-home}/bin/work/Tomcat/localhost/nacos
下并重新运行启动脚本,终于不报“Unable to start embedded Tomcat”的错误了,但是... -
CannotGetJdbcConnectionException: Failed to obtain JDBC Connection
又报了一个不能连接数据库的错误,去
${nacos-home}/conf
的文件夹下打开application.properties
文件看了一下,发现是数据库配置没有写,编辑数据库配置:spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://${server}:${port}/nacos?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC db.user=${user} db.password=${password}
注:记得在数据库创建nacos库,并运行
${nacos-home}/conf
下的nacos-mysql.sql
脚本重新运行启动脚本,但是...
-
CannotGetJdbcConnectionException: Failed to obtain JDBC Connection
这玩意居然又报了一次错,检查半天无果,于是去论坛看看大佬有没有遇到过这个问题,一番查阅后发现,原来是nacos项目导入的是5.6版本的数据库连接jar包,而我用的是8.0.21版本的mysql数据库,于是按大佬的方法,在nacos安装目录下新建
plugins/mysql
文件夹,并把下载的mysql-connector-java-8.0.21.jar
jar包放进去,再次运行启动脚本 -
成功运行
四、总结
Spring Cloud Alibaba Nacos的最新版本1.3.2还是有不少坑的,另外nacos默认是以集群方式启动的,如果${nacos-home}/conf
下的cluster.conf
不配置好的话,也会花式报错。还有就是有些朋友反馈建了plugins/mysql
文件夹并放入了对应的jar包,还是会报连接数据库的错误,建议数据库用回5.6版本,或者下载nacos的源码对里面的pom文件及import导入进行修改,最后还需要修改一下nacos-default.properties
里的属性并重新打包,后面有空会做一下这个教程。
感谢阅读!!!