nacos-2.0.3启动报错出现no datasource set的坑

在日常启动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服务器接入的连接太多了

root@server-2:~# 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),发现还可以连接上了

root@server-2:~# 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博客

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值