• Linux Nacos2.2.0版本集群搭建,常见报错问题解决


    准备:

    集群配置图:

    • 官方的:

    •  

      本次搭建集群配置图:

    开始搭建:

    • 修改nacos的配置文件“application.properties,cluster.conf.example”这些文件都在`nacos/conf/`中
    • 本地数据库的sql脚本代码也在conf配置目录下面,”mysql-schema.sql“,在自己的数据库中创建一个nacos数据库,然后导入官方准备好的sql脚本即可;小插曲:也不知道是不是真的2.几版本不能用分割线做数据库名,一开始我使用的是"nacos_conf",一直报错,试了一下“nacos”就好了;
    • application.properties修改内容:
    复制代码
    server.port=自定义端口号
    spring.datasource.platform=mysql
    db.num=1
    db.url.0=jdbc:mysql://ip地址:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
    db.user.0=root
    db.password.0=****
    复制代码

    端口需要注意:在Nacos2.0以后,相对于之前的版本增加了gRPC的通信方式;如下图,这次搭建的nacos集群暴露端口号:"8010,9010,9011","8020,9020,9021","8030,9030,9031"却记端口号地址一定不要写错了或者暴露端口号冲突了;否则会导致启动集群失败,或者导致3个nacos启动只能启动2个;常见报错方式:Error creating bean with name ‘grpcSdkServer‘

    • cluster.conf.example修改,拷贝一份改名为cluster.conf
    • 这里的"ip:port"也需要注意,如果是云服务器,一定使用内网ip作为IP地址写这里,端口号对应集群的三个端口号;否则会报错,一般性错误:Error creating bean with name‘memoryMonitor;这个错误会有很多情况,有时候是数据库地址,有时是你的ip写错了,等很多情况,视情况而定
    复制代码
    127.0.0.1:8010
    127.0.0.1:8020
    127.0.0.1:8030
    
    #切记这里除了这三个IP地址和端口号外,在启动成功之后访问改地址的nacos之后还会自动生成一个ip+端口号,这个不必管
    复制代码

    启动:

    • 把写的nacos,拷贝2份,一共3个nacos,按上述步骤修改其它两份;
    • 最后注意:如果是云服务器,一定打开相对应的端口号;
    • 直接切换到"nacos/bin/"目录,使用命令`./startup.sh`启动三台nacos即可;

    小插曲:

    如果你的服务器cpu和内存等配置不行,那最好别按我上述方式直接启动,不然你的服务器会宕机;

    • 集群和单机的内存消耗是天壤之别:且看下图

     使用vim打开startup.sh启动脚本,你会看到如上图的内容;单机启动会占用512mb的内存,而集群上来一台就是2g起步;不注意会害惨你;

    修改如下图:

     参考上述单机配置的占用内存,修改就可以了;起始还是囊中羞涩不然我就买台好点的服务器了,哈哈哈哈

    nginx修改nginx.conf文件

    复制代码
    #自定义配置,搭建的nacos集群,做负载均衡
         upstream cluster {
               server ip:8010;
              server ip:8020;
              server ip:8030;
          }
      
          server {
              listen  8888;
              server_name localhost;
      
              location / {
                      proxy_pass http://cluster;
              }
          
    复制代码

    这里的ip写成自己服务器的公网ip;

    在次强调,一定要去配置服务器的端口号,不然你访问不到;

     

  • 相关阅读:
    Compose 自定义 - 绘制 Draw
    [算法2-数组与字符串的查找与匹配] (.NET源码学习)
    若依分离版——使用Knife4j 自动生成接口文档
    【服务器数据恢复】RAID6中3块磁盘离线崩溃的数据恢复案例
    (附源码)ssm高校志愿者服务系统 毕业设计 011648
    面向对象-Python
    LeetCode 周赛 352(2023/07/02)一场关于子数组的专题周赛
    Vulnhub DC2
    为什么你学了那么多,却没赚到钱?
    走进SpringBoot源码吃透Spring扩展点「扩展点实战系列」- 第450篇
  • 原文地址:https://www.cnblogs.com/he-E2/p/17497663.html