当前位置:网站首页>nacos-2.0.3启动报错出现no datasource set的坑
nacos-2.0.3启动报错出现no datasource set的坑
2022-08-03 05:30:00 【m0_67402235】
在日常启动nacos-2.0.3的时候,经常会启动不成功,检查start.out可以看到no datasource set的异常,导致了nacos启动失败。
1.start.out文件中可以看到:
ERROR Startup errors :
No DataSource set
at org.springframework.beans.factory.support.ConstructorResolver.createArgum。。。。
ERROR Nacos failed to start, please see /opt/nacos-2.0.3/logs/nacos.log for more details.
2.根据start.out的提示去查看nacos.log,可以看到如下异常信息
java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110)
3.在该节点(192.168.88.130)上使用mysql命令远程连接mysql服务器(192.168.88.129),发现还真连接不上,说是mysql服务器接入的连接太多了
[email protected]:~# mysql -h 192.168.88.129 -u root -p
Enter password:
ERROR 1129 (HY000): Host ‘192.168.88.130’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’
4.跑到mysql服务器(192.168.88.129)上去登录mysql,进行FLUSH HOSTS
mysql -h 192.168.88.129 -u root -p
mysql> FLUSH HOSTS;
5.在该节点(192.168.88.130)上重新使用mysql命令远程连接mysql服务器(192.168.88.129),发现还可以连接上了
[email protected]:~# mysql -h 192.168.88.129 -u root -p
mysql>
6.重新启动nacos,就可以启动成功了
INFO Nacos started successfully in cluster mode. use external storage
分析原因:
nacos在服务器重启,或者nacos被shutdown.sh之后,它作为客户端是把跟mysql数据库之间的连接断开了,但是这种断开是非正常流程的断开方式,它前面连接mysql服务器的连接状态还在myql服务器上登记着呢,mysql服务器还在等待它的下一步动作呢。
nacos重启多了,不释放mysql的连接资源,就耗尽了mysql服务器的连接资源,导致一直登录不上。
感觉nacos的shutdown.sh并不安全,同时mysql的连接管理也不咋地,不主动释放长期不交互的死连接。
参考:服务器端mysql连接时:报错 1129 (HY000): Host ‘’ is blocked because of many connection errors;_落叶无痕的博客-CSDN博客
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
猜你喜欢
随机推荐
pyspark --- count the mode of multiple columns and return it at once
【YOLOv3 SPP 数据集准备】YOLOv3 SPP数据集准备代码理解
Scala 高阶(七):集合内容汇总(上篇)
prometheus 监控mysql数据库
empty() received an invalid combination of arguments - got (tuple, dtype=NoneType, device=NoneType),
MySQL之DQL——查询语言
一根网线完美解决IPTV+千兆网复用,还不来试试
Mysql去除重复数据
【IoU loss】IoU损失函数理解
SQL——左连接(Left join)、右连接(Right join)、内连接(Inner join)
PCB 多层板为什么都是偶数层?
MySql之json_extract函数处理json字段
置顶文章-
CISP-PTE真题演示
TFS (Azure conversation) prohibit people checked out at the same time
IFM网络详解及torch复现
contos install php-ffmpeg and tp5.1 using plugin
VS Project Configuration Manager
UniApp 获取当前页面标题(navigationBarTitleText)
Chrome 配置samesite=none方式