1、准备三台Linux服务器(我的是三台阿里服务器)
注意:服务器条件(很重要,关系是否集群成功以及能否可以服务注册)
1、必须有足够的内存!!!!
2、服务器必须有三台以上(集群基本)!!!! (替代方案:也可以一台服务器,Nacos启动设置不同端口,也可以模拟集群,其他配置一样)
3、服务器必须有公网IP(部分服务器没有设置公网IP)!!!!
4、开启服务器的8848端口(阿里腾讯服务器配置安全组)!!!!
2、下载最新稳定版Nacos安装包
(1)、下载地址:https://github.com/alibaba/nacos/releases
(2)、下载版本
nacos-server-1.4.2.zip windows版
nacos-server-1.4.2.tar.gz Linux版
3、解压文件
1、创建usr/software/
2、将压缩包nacos-server-1.4.2.tar.gz拷入
3、解压 tar -zxvf nacos-server-1.4.2.tar.gz 解压到当前目录,自动生成nacos文件
4、集群文件配置
进入nacos/conf文件目录下,拷贝并修改cluster.conf.example-->cluster.conf
添加集群服务 IP:端口(三个都要配)
106.xx.xx.101:8848
106.xx.xx.102:8848
106.xx.xx.103:8848
5、配置集群共享存储(当前为MySQL)
1、打开nacos/conf目录,将nacos-mysql.sql文件导入数据库执行,创建一个集群共享数据库-nacos
2、打开nacos/conf目录,编辑application.properties(如下图),添加上一步创建的数据库配置
6、配置指定初始IP
1、打开application.properties文件新增如下配置
nacos.inetutils.ip-address=106.xx.xx.101
7、指定启动IP,集群配置对应IP
配置原因:因为阿里或者腾讯服务器会给服务器自动分内网配IP,因此导致Nacos启动时会默认采用内网IP,于是集群配置IP不起作用,无法进行服务注册
1、打开nacos/bin目录,打开startup.sh文件(如下图)
2、添加一段指定代码:JAVA_OPT="${JAVA_OPT} -Dnacos.server.ip=106.xx.xx.101",其中IP为启动指定IP,不采用内网IP了
8、直接启动三个Nacos服务
默认启动方式为集群启动
启动打印显示如下:
Console: http://106.xx.xx.101:8848/nacos/index.html
配置启动成功!
9、服务注册配置
spring:
application:
name: xxServer
# Nacos服务配置
cloud:
nacos:
discovery:
server-addr: 106.xx.xx.101:8848,106.xx.xx.102:8848,106.xx.xx.103:8848
10、Nacos集群部署常见问题总结
1、集群启动IP出现非配置IP,启动ip不是对应服务器对应IP?
解析:
这是因为阿里或者腾讯等Linux服务器会自动分配内网IP(本机好像也是),导致Nacos服务启动的时候,自动绑定了内网IP启动!
解决方法:
1、在application.properties文件新增IP配置(这种有可能不起作用)
nacos.inetutils.ip-address=106.xx.xx.101
2、在startup.sh文件中,新增集群模式下JVM配置
JAVA_OPT="${JAVA_OPT} -Dnacos.server.ip=106.xx.xx.101"
2、Nacos集群配置启动都没有问题,但是无法注册,一直提示503错误?
解析:
这种问题原因有很多种:
1、springboot服务器注册配置参数设置问题(仔细一点就好了)
2、服务器8848端口没有设置安全组(如果浏览器可以访问,那么就没问题)
3、服务器内存不够(这种情况很少见)
4、nacos服务器本身问题(nacos 1.4.0 linux版 单机没有问题,但是集群有问题,换成1.4.2就ok了,坑爹!)
参考:Nacos 官方文档 https://nacos.io/zh-cn/docs/quick-start.html