我们来学nacos -- 集群nacos2.5.1mysql8.4
2.5.1集群搭建
- 架构
- 下载
- 解压到3个文件夹
- 初始化数据库&数据迁移
- 检查端口可用
- 配置
- cluster.conf
- application.properties
- 使用mysql8.4的jar
- 启动
- db.num is null报错
- datasource错误
- 成功
- nginx反向代理
- 集群查看
架构
- 其中包含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:985810.2.0.148:986810.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;}}