最近开始打算学习一波springcloud-alibaba,于是在github官网上下载nacos的安装包,启动发现报错。
报错信息:Unable to start embedded Tomcat
无法加载内置的tomcat。
在网上找了些解决办法,说是jdk配置不正确,版本低,或者是环境变量没有配置JAVA_HOME。
我看了下我的环境变量配置,是没问题的,JDK版本1.8_077. 问题应该也不大。
我找了下nacos的目录结构,发现有几个文件夹,
bin里面是启动和关闭nacos的
conf很明显是配置文件
logs是日志信息
data里是空的
target里有一个springboot的jar包,很明显是打包后的nacos项目。
于是我打开日志看了下报错信息,nacos.log
最下面一行发现了一个敏感字眼:Caused by: java.lang.RuntimeException: [db-load-error]load jdbc.properties error
难怪是数据库配置的问题?
于是打开conf文件夹,看到有一个nacos-mysql.sql
看来是要导入数据库脚本,于是在本地数据库创建了一个名为nacos的数据库,
并执行这个sql脚本,生成了一些表。
有库有表肯定要改配置。
于是用编辑器打开application.properties
看到有配置db的地方,于是改了改。
保存后。
再次进入bin目录,双击startbat.cmd运行。
发现依然报错。
Caused by: java.net.UnknownHostException: jmenv.tbsite.net
报错:不知名的主机异常。
这里我重新改了下配置文件,也没有什么作用。
关键一点,启动的时候,我注意到一个信息,
nacos一直在以集群模式启动,cluster list is []
我在想问题会不会出在这里,因为我是单击运行的,并没有配置nacos集群。
于是我用编辑器打开bin目录下的startup.cmd
看到一个关键信息
这里是可以配置单击模式启动的,于是尝试着改启动配置,以单击模式启动
保存后退出。再次双击启动文件startup.cmd。
这次正常启动了。
在浏览器打开localhost:8848/nacos/index.html
正常访问nacos配置中心。
**
小结:
**
1、先把数据库脚本导入本地数据库,数据库名要与application.properties里的数据库配置一致,一般都叫nacos库,当然名字自己随便取,对应上就行了。
2、修改conf下的配置文件application.properties,把db等配置改改。
3、关键:如果是单击启动的话,修改startup.bat,把启动模式改成standalone 单击启动。
————————————————
版权声明:本文为CSDN博主「honeyCloud1988」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42982636/article/details/108221299
版本对应关系:
最近看消息,nacos已经推出2.0,性能比1.x版本要强十倍。暂时还是选择1.x版本作为我研究的对象,后续再看2.0的新特性。
现在nacos1.x的最新Release版本是1.4.1.
对于读者的项目,springCloud的版本都不一致。那么我们如何寻找对应的nacos版本呢。
还是那句话,不懂得就看官网,再串联起来。
nacos服务端版本
第一步,先看springCloud版本
springCloud官网 https://spring.io/projects/spring-cloud
笔者因为在本地搭建的程序,那么我会选择相对较新的Release版本。Hoxton.SR10。其他小伙伴,根据自己版本选则,后面步骤选择版本是先根据这个来定的。
springCloud的版本,是对一套微服务组件的组合。我们点进去Hoxton。
第二步 查找Spring Cloud Alibaba Version 对应版本号
我们都知道,nacos是阿里开源的。也是springCloud alibaba的其中一个组件。
打开Spring Cloud Alibaba Version版本说明wiki 版本说明wiki
第一步,我选择的是Hoxton.SR10.找不着,那么就选择最近的2.2.5.RELEASE
第三步 查找Nacos版本
查找nacos版本,是在同一个wiki页面上
现在,我们就找到nacos的服务端版本了。是1.4.1。同事也是最新的稳定版本。
nacos客户端版本
nacos提供的客户端,目前只有Java语言版本,是一个java sdk。sdk链接说明
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>${version}</version>
</dependency>
融入springcloud体系,将nacos-client进行包装,形成一个springcloud扩展的插件。
查看官网页面nacos springcloud快速开始
springCloud版本Hoxton.SR10,对应的springboot版本是2.2.x, 2.3.x (Starting with SR5)
那么nacos客户端版本,应该选择 2.1.x.RELEASE ,点进去,maven版本查找
发现最新的版本有2.2.x。那么我们知道,官网的描述过时了,就选择2.2.5.RELEASE版本。
读者,都明白整个过程了吧。
————————————————
版权声明:本文为CSDN博主「chudaxiakkk」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/chudaxiakkk/article/details/115276217