我们来学nacos -- 集群nacos2.5.1&mysql8.4

发布于:2025-05-13 ⋅ 阅读:(8) ⋅ 点赞:(0)

架构

  • 其中包含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;
        }
    }

在这里插入图片描述
在这里插入图片描述

集群查看

在这里插入图片描述