4

Linux Nacos2.2.0版本集群搭建,常见报错问题解决 - 小西瓜的西瓜

 1 year ago
source link: https://www.cnblogs.com/he-E2/p/17497663.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

集群配置图:

  • 官方的:
    2857846-20230622113200472-1829475060.png
  • 本次搭建集群配置图:

    2857846-20230622113246933-561100740.png

开始搭建:

  • 修改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‘

2857846-20230622120622927-717176752.png
  • 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和内存等配置不行,那最好别按我上述方式直接启动,不然你的服务器会宕机;

  • 集群和单机的内存消耗是天壤之别:且看下图
2857846-20230622122119925-42561116.png

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

修改如下图:

2857846-20230622122403935-1811830376.png

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

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;

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


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK