文章目录
一. 问题背景
在跟着【java进阶课程】玩转spring cloud alibaba易如反掌,从入门到精通nacos学习nacos的时候,要用idea集群启动nacos,然而失败了。
参考自:启动NACOS报错
找了很久才知道怎么弄,希望对遇到同样困难的小伙伴有帮助。
二. 解决方案
2.1 idea配置dashboard
配置dashboard是为了更好地管理若干个微服务的运行状态。
步骤如下:
复制以下代码:
<option name="configurationTypes">
<set>
<option value="SpringBootApplicationConfigurationType" />
</set>
</option>
粘贴到如下位置:
2.2 源码集群启动nacos
2.2.1 配置外部数据库
首先配置MySQL,集群启动必须配置MySQL,否则会报db.num = 0
错误。如下:
#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000\
&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai
db.user.0=root
db.password.0=123456
注意:如果是MySQL8.0数据库,必须在url加上serverTimezone=Asia/Shanghai
在本地电脑创建名为nacos_config
的数据库
将nacos源码的distribution模块中的nacos-mysql.sql的内容粘贴到navicat,并执行,就可以生成nacos的数据库了
2.2.2 配置nacos运行参数
如下:
使用-Dnacos.home=d:\nacos
来配置nacos存放日志以及配置文件的本地地址
点击Apply->OK
2.2.3 生成存放nacos的数据的文件夹
先启动一遍程序,以此来生成一个生成存放nacos的数据的文件夹,如下:
此时,D:\nacos
就会生成了
2.2.4 配置集群的ip地址
在源码的distribution模块,有一个cluster.conf.example文件,将它复制到存放nacos数据的conf文件夹里面(即D:\nacos\conf
)并将文件名改成cluster.conf。
配置nacos的ip地址(前面配置什么ip,这里就配什么),内容如下:
127.0.0.1:8486
127.0.0.1:8487
127.0.0.1:8488
2.2.5 集群启动nacos
我们只需启动单个程序就可以集群运行了。如下: