• 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;

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

     

  • 相关阅读:
    (docker)手把手教学springboot maven项目根据jenkins自动打包,并自动构建镜像 并上传阿里云镜像仓库.
    SpringBoot集成flink
    微服务学习(六):实现SSH通信
    IP地址为什么需要SSL证书
    js中new做了什么
    MySQL(16):变量、流程控制与游标
    道教和道家的区别
    中小型企业云存储选型指南:要点与建议
    Codeforces Round #810 (Div. 2) D. Rain (线段树差分)
    拓扑排序:acwing 848. 有向图的拓扑序列
  • 原文地址:https://www.cnblogs.com/he-E2/p/17497663.html