Nacos集群开发

Nacos集群开发

开发前准备

预计需要,1个Nginx+3个nacos注册中心+1个mysql

请确保是在Linux环境中安装使用:

  1. 64 bit OS Linux/Unix/Mac,推荐使用Linux系统。

  2. 64 bit JDK 1.8+;下载.配置

  3. Maven 3.2.x+;下载.配置

  4. 3个或3个以上Nacos节点才能构成集群。

    官网链接

Nacos下载Linux版

集群配置步骤(重点)

1.Linux服务器上mysql数据库配置

SQL脚本在哪里 - 目录nacos/conf/nacos-mysql.sql

image

2.application.properties配置

位置

image

对application.properties进行编辑

vim application.properties

在文件最后添加以下内容

#############################################################
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://自己的IP地址:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root

在这里多说一句本机用虚拟机测试的话IP哪里可以直接使用localhost,如果是用的自己的服务器,一定要确保在Windows能连接,IP哪里写自己服务器的公网IP,不然启动nacos时会造成数据库连接失败的错误,还有一点要注意:就是一定要设置一下在数据库的最大连接数

3.Linux服务器上nacos的集群配置cluster.conf

  • 建议复制一份cluster.conf以便出错了恢复

    cp cluster.conf.example cluster.conf

image

修改 vim cluster.conf

添加以下内容

192.168.111.144:3333
192.168.111.144:4444
192.168.111.144:5555

注意,这个IP不能写127.0.0.1,必须是Linux命令hostname -i能够识别的IP

image

4.编辑Nacos的启动脚本startup.sh,使它能够接受不同的启动端口

/usr/local/nacos/bin目录下有startup.sh

image

平时单机版的启动,都是./startup.sh即可

但是,集群启动,我们希望可以类似其它软件的shell命令,传递不同的端口号启动不同的nacos实例。
命令: ./startup.sh -p 3333表示启动端口号为3333的nacos服务器实例,和上一步的cluster.conf配置的一致。

修改内容

img

在文件最下面修改以下内容

nohup \(JAVA -Dserver.port=\){PORT} ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &

注:  在这里注意一个地方,nacos进行集群模式的时候默认的需要的最小内存是1个G,最大是2个G,只要启动nacos就可能报错,直接造成CPU爆满,需要修改startup.sh中的以下内容,把运行内存改小就好了

image

执行方式 - ./startup.sh - p 端口号

执行后去查看日志有没有成功

全部的日志查看方式less ../logs/start.out,实时的logstail -f start.out

5.Nginx的配置,由它作为负载均衡器

  • 修改nginx的配置文件 - nginx.conf

image

添加以下内容
image

upstream cluster{
        server 127.0.0.1:3333;
        server 127.0.0.1:4444;
        server 127.0.0.1:5555;
  
        }


location / {
           # root   html;
           # index  index.html index.htm;
            proxy_pass http://cluster;
        }

修改完后先启动nginx./nginx ,然后对nginx配置文件进行刷新 ./nginx -c reload

6.截止到此处,1个Nginx+3个nacos注册中心+1个mysql已完成了

测试

  • 启动3个nacos注册中心
    • startup.sh - p 3333
    • startup.sh - p 4444
    • startup.sh - p 5555
    • 查看nacos进程启动数ps -ef | grep nacos | grep -v grep | wc -l

启动nginx

  • ./nginx -c /usr/local/nginx/conf/nginx.conf或者直接./nginx (这种需要在nginx的解压目录中配置一下,好像直接运行也是没问题的 对linux不太熟悉,自行测试吧)
  • 查看nginx进程ps - ef| grep nginx
  • 测试通过nginx,访问nacos - http://\({服务器IP或者本机IP}:\){Nginx的端口号}/nacos/#/login
posted @ 2021-11-26 17:02  Primary丶  阅读(377)  评论(0编辑  收藏  举报