Linux Nacos2.2.0版本集群搭建,常见报错问题解决
准备:
- 服务器,nacos,mysql,nginx,java,maven
- Nacos 官网:https://nacos.io
- 下载地址github:https://github.com/alibaba/nacos
- 相关版本问题,见nacos官网手册查看
集群配置图:
- 官方的:
-
本次搭建集群配置图:
开始搭建:
- 修改nacos的配置文件“application.properties,cluster.conf.example”这些文件都在`nacos/conf/`中
- 本地数据库的sql脚本代码也在conf配置目录下面,”mysql-schema.sql“,在自己的数据库中创建一个nacos数据库,然后导入官方准备好的sql脚本即可;小插曲:也不知道是不是真的2.几版本不能用分割线做数据库名,一开始我使用的是"nacos_conf",一直报错,试了一下“nacos”就好了;
- application.properties修改内容:
server.port=自定义端口号 spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://ip地址:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user.0=root db.password.0=****
端口需要注意:在Nacos2.0以后,相对于之前的版本增加了
- cluster.conf.example修改,拷贝一份改名为cluster.conf
- 这里的"ip:port"也需要注意,如果是云服务器,一定使用内网ip作为IP地址写这里,端口号对应集群的三个端口号;否则会报错,一般性错误:Error creating bean with name‘memoryMonitor;这个错误会有很多情况,有时候是数据库地址,有时是你的ip写错了,等很多情况,视情况而定
127.0.0.1:8010
127.0.0.1:8020
127.0.0.1:8030
#切记这里除了这三个IP地址和端口号外,在启动成功之后访问改地址的nacos之后还会自动生成一个ip+端口号,这个不必管
启动:
- 把写的nacos,拷贝2份,一共3个nacos,按上述步骤修改其它两份;
- 最后注意:如果是云服务器,一定打开相对应的端口号;
- 直接切换到"nacos/bin/"目录,使用命令`./startup.sh`启动三台nacos即可;
小插曲:
如果你的服务器cpu和内存等配置不行,那最好别按我上述方式直接启动,不然你的服务器会宕机;
- 集群和单机的内存消耗是天壤之别:且看下图
使用vim打开startup.sh启动脚本,你会看到如上图的内容;单机启动会占用512mb的内存,而集群上来一台就是2g起步;不注意会害惨你;
修改如下图:
参考上述单机配置的占用内存,修改就可以了;起始还是囊中羞涩不然我就买台好点的服务器了,哈哈哈哈
nginx修改nginx.conf文件
#自定义配置,搭建的nacos集群,做负载均衡
upstream cluster {
server ip:8010;
server ip:8020;
server ip:8030;
}
server {
listen 8888;
server_name localhost;
location / {
proxy_pass http://cluster;
}
这里的ip写成自己服务器的公网ip;
在次强调,一定要去配置服务器的端口号,不然你访问不到;