2.5.1集群搭建
架构
- 其中包含3个nacos节点,然后一个负载均衡器代理3个Nacos
- 负载均衡器可以使用nginx
- 单机伪集群
节点 | ip | port |
---|---|---|
nacos1 | 10.2.0.148 | 9858 |
nacos2 | 10.2.0.148 | 9868 |
nacos3 | 10.2.0.148 | 9878 |
下载
- 官网
- 2.x最新版本是2.5.1
解压到3个文件夹
- 用的都是root用户
- unzip
初始化数据库&数据迁移
- 当前场景是:nacos2.3.2升级到2.5
- 用2.5的脚本先初始化
- 再将2.3.2的数据,通过navicat“数据传输”迁移
- 表结构
- 数据
检查端口可用
- 检查分配给nacos的端口是否未被占用
- netstat -tulnp | grep :端口号
配置
cluster.conf
- 填写三个nacos的ip+port
10.2.0.148:9858 10.2.0.148:9868 10.2.0.148:9878
application.properties
- 配置端口
- 数据库
使用mysql8.4的jar
- mysql8+,修改了账号验证的插件
- 在nacos目录下创建plugin/mysql,存放8.0的java驱动
启动
- startup.sh -m standalone
- startup.sh -m cluster(集群模式)
db.num is null报错
- 配置1,只使用一个数据库
datasource错误
成功
nginx反向代理
- 对外还是 8848 端口
stream{
upstream nacos_tcp {
# 负载均衡策略(可选:ip_hash/least_conn)
least_conn;
# 集群节点列表
server 10.2.0.148:9858 max_fails=3 fail_timeout=30s;
server 10.2.0.148:9868 max_fails=3 fail_timeout=30s;
server 10.2.0.148:9878 max_fails=3 fail_timeout=30s;
}
server {
listen 9848;
proxy_pass nacos_tcp;
}
}
# nacos集群配置
upstream nacos_http {
# 负载均衡策略(可选:ip_hash/least_conn)
least_conn;
# 集群节点列表
server 10.2.0.148:8858 max_fails=3 fail_timeout=30s;
server 10.2.0.148:8868 max_fails=3 fail_timeout=30s;
server 10.2.0.148:8878 max_fails=3 fail_timeout=30s;
# 长连接优化
keepalive 1000;
keepalive_timeout 60s;
}
server {
listen 8848;
# HTTP代理配置
location /nacos/ {
proxy_pass http://nacos_http/nacos/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}