
一、环境准备
Ubuntu 20.04 / 22.04
JDK 1.8+(推荐 JDK8)
MySQL5.7 / MySQL8.0(三节点共用同一个数据库,禁止默认 Derby 内置库)
Nacos 2.2.x / 2.3.x / 2.4.x
服务器内网 IP:192.168.1.220(必须用内网 IP,不能 127.0.0.1/localhost)
二、下载 Nacos 并部署 3 个节点
进入工作目录
cd /data/zkhl
下载安装包
wget https://github.com/alibaba/nacos/releases/download/2.4.0/nacos-server-2.4.0.tar.gz
解压
tar -zxvf nacos-server-2.4.0.tar.gz
复制3份节点
cp -r nacos nacos-8848
cp -r nacos nacos-8858
cp -r nacos nacos-8868
MySQL 数据库创建及初始化
创建数据库nacos_config , 将nacos 下的mysql-schema.sql导入到nacos_config 数据库中
编辑 3 个节点的 cluster.conf,写入集群节点地址,必须写服务器内网 IP,不能写 127.0.0.1,否则集群节点间无法通信
bash
192.168.1.220:8848
192.168.1.220:8858
192.168.1.220:8868
修改每个节点 application.properties 配置,例如nacos-8848下的 application.properties
通用配置规则
仅修改 server.port,三个节点分别为:8848、8858、8868
MySQL 连接、鉴权配置三个节点必须完全一模一样
时区必须改为 Asia/Shanghai,避免时间差 8 小时问题
bash
# Web访问端口
server.port=8848
server.servlet.contextPath=/nacos
# 开启MySQL数据源
spring.datasource.platform=mysql
db.num=1
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=你的MySQL密码
# 连接池配置(默认无需修改)
db.pool.config.connectionTimeout=30000
db.pool.config.validationTimeout=10000
db.pool.config.maximumPoolSize=20
db.pool.config.minimumIdle=2
# 开启权限认证(集群必须开启,三节点密钥完全一致)
nacos.core.auth.enabled=true
nacos.core.auth.enable.userAgentAuthWhite=false
nacos.core.auth.server.identity.key=serverIdentity
nacos.core.auth.server.identity.value=security
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
nacos.core.auth.plugin.nacos.token.expire.seconds=18000
nacos-8858和nacos-8868下的 application.properties内容和上面一样,仅server.port改成各自的端口
启动集群
bash
# 1.启动节点1
cd /data/nacos-8848/bin
bash startup.sh
# 等待3秒
# 2.启动节点2
cd /data/nacos-8858/bin
bash startup.sh
# 等待3秒
# 3.启动节点3
cd /data/nacos-8868/bin
bash startup.sh