初识Springcloud Alibaba nacos遇到的坑

初识Springcloud Alibaba nacos遇到的坑

最近下班回到,想着最近两年Springcloud Alibaba巨火,就自己敲一个简单的demo,没想到第一步玩nacos就遇到一些问题,和大家分享一下,希望别的小伙伴遇到了可以避免。

首先下载了nacos官方的文件,然后解压,解压成功之后,很自然的打开startup.cmd,想着应该就能开始学习了,没想到,上来就报错!!!

org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
在这里插入图片描述
当时就蒙蔽了,是环境问题吗?可是我电脑经常用来写代码,jdk,mysql,tomcat,maven应该都是没有问题的啊。难道第一次学习还得重新装一套环境?

然后想想应该不至于,所以就去解决问题。。。

看见报错信息,tomcat无法打开?第一想法就是是不是我tomcat端口被占用了,毕竟自己有的项目测试就是8080,看了一下,发现并没有,看来不是这个问题。

然后继续找错误,把错误拉到最下面,出来了这个错误:
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: [db-load-error]load jdbc.properties error
在这里插入图片描述
这就出来问题了,db-load-error数据库加载错误,难道还要导入数据库?就在nacos下载文件里面找,果然,在conf文件夹里面找到了nacos-mysql.sql文件!
那行,先导入本地看看,新建一个nacos数据库,然后导入nacos-mysql.sql。
既然有数据库文件,应该也有相关配置把,在application.properties中找到了
在这里插入图片描述
找到了数据库配置,将账号密码改成本地数据库的账号密码,数据库名字创建的时候就叫nacos,所以就不用改了,然后重新启动。

然后又报错
在这里插入图片描述
我吐了啊,咋回事? 没法,去瞅瞅日志文件把。。。

然后日志文件第一行就是 java.lang.IllegalArgumentException: db.num is null

在这里插入图片描述
db.num是空?然后去配置文件里面瞅一眼,果然,配置文件里有个
在这里插入图片描述
db.num本来是注释掉了,咱们给打开,然后看了一下,应该没有和数据库相关的配置了,保存,重新运行。。。

然后 Caused by: java.net.UnknownHostException: jmenv.tbsite.net
在这里插入图片描述
我都吐血了,啥玩意啊?是我下载的版本问题吗?怎么这么多错误。
然后看了日志,这次没有拿到有用的东西。难道解决不了了?
我又认真的看了一遍启动过程,发现了一个问题
在启动刚开始,第一行出现了 “nacos is starting with cluster”,nacos集群开始启动。
在这里插入图片描述
不对把?我就下载了一个单机,不应该是集群启动啊。然后去配置文件里面找启动相关,看有没有把集群改成单机的配置,很遗憾,没找到。
想到这里,我已经要放弃了,不准备学了,真的是完全劝退萌新啊。
但仔细想了一下,配置问题如果不是在配置文件中,那就应该是在程序中,然后我打开了startup.cmd,
在这里插入图片描述

真的是没想到,在这里找到了!!!
然后把最上边的 set MODE=“cluster” 改成 set MODE=“standalone”,保存。

果然,启动的时候提示便变成了单机模式。而且,没有再报错,启动成功了!!!在这里插入图片描述
然后访问8848端口,也成功进入了系统。
在这里插入图片描述

总结一下

  1. 首先导入数据库:
    在初次使用nacos时,第一步应该先导入conf/nacos-mysql.sql这个sql文件,在本地数据库创建nacos数据库,然后导入数据库文件。
  2. 修改配置文件
    在conf/application.properties配置文件中,找到数据库相关的配置,就是下面这两段,把原先的注释去掉,改成本地的数据库账号密码。
### Count of DB:
db.num=1

### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=root

3.## 更改启动模式
使用记事本打开 bin/startup.cmd 启动文件,将其中的 set MODE=“cluster” 改成 set MODE=“standalone”。

做完这些,我的就正常启动了,如果你的还是有问题,可以去log下查看一下日志。
如果仍有别的不能解决的问题出现,希望大家共同交流。避免踩坑!!!!!

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值