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

准备:

  • 服务器,nacos,mysql,nginx,java,maven
  • Nacos 官网:https://nacos.io
  • 下载地址github:github nacos
  • 相关版本问题,见nacos官网手册查看

集群配置图:

  • 官方的:
    Linux Nacos2.2.0版本集群搭建,常见报错问题解决_第1张图片
  • 本次搭建集群配置图:
    Linux Nacos2.2.0版本集群搭建,常见报错问题解决_第2张图片

开始搭建:

  • 修改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‘
    Linux Nacos2.2.0版本集群搭建,常见报错问题解决_第3张图片
  • 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

启动:

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

小插曲:

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

  • 集群和单机的内存消耗是天壤之别:且看下图
    Linux Nacos2.2.0版本集群搭建,常见报错问题解决_第4张图片
    使用vim打开startup.sh启动脚本,你会看到如上图的内容;单机启动会占用512mb的内存,而集群上来一台就是2g起步;不注意会害惨你;
  • 修改如下图:
    Linux Nacos2.2.0版本集群搭建,常见报错问题解决_第5张图片
    参考上述单机配置的占用内存,修改就可以了;起始还是囊中羞涩不然我就买台好点的服务器了,哈哈哈哈

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;
  • 在次强调,一定要去配置服务器的端口号,不然你访问不到;

转载于我的博客:

https://www.cnblogs.com/he-E2/p/17497663.html

你可能感兴趣的:(linux,java,微服务,nginx,spring,cloud,分布式)