准备:

集群配置图:

  • 官方的:

  • 本次搭建集群配置图:

开始搭建:

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

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

Linux Nacos2.2.0版本集群搭建,常见报错问题解决的更多相关文章

  1. redis5.0版本集群搭建

    模式简介 Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施(installation). Redis 集群不支持那些需要同时处理多个键的 Redis 命令,比如:mget, 因 ...

  2. [k8s]debug模式启动集群&k8s常见报错集合(on the fly)

    debug模式启动-支持sa 集群内(pod访问api)使用443加密 no1 no2 安装flanneld kubelet/kube-proxy m1 安装etcd/ api/contruller/ ...

  3. Linux下MySQL/MariaDB Galera集群搭建过程【转】

    MariaDB介绍 MariaDB是开源社区维护的一个MySQL分支,由MySQL的创始人Michael Widenius主导开发,采用GPL授权许可证. MariaDB的目的是完全兼容MySQL,包 ...

  4. Redis 5.0.5集群搭建

    Redis 5.0.5集群搭建 一.概述 Redis3.0版本之后支持Cluster. 1.1.redis cluster的现状 目前redis支持的cluster特性: 1):节点自动发现 2):s ...

  5. java_redis3.0.3集群搭建

    redis3.0版本之后支持Cluster,具体介绍redis集群我就不多说,了解请看redis中文简介. 首先,直接访问redis.io官网,下载redis.tar.gz,现在版本3.0.3,我下面 ...

  6. redis3.0.3集群搭建

    redis3.0版本之后支持Cluster,具体介绍redis集群我就不多说,了解请看redis中文简介. 首先,直接访问redis.io官网,下载redis.tar.gz,现在版本3.0.3,我下面 ...

  7. ubuntu18.04 flink-1.9.0 Standalone集群搭建

    集群规划 Master JobManager Standby JobManager Task Manager Zookeeper flink01 √ √ flink02 √ √ flink03 √ √ ...

  8. Redis5版本集群搭建

    一.简介 1.1 Redis是什么 Redis是一个开源的,使用ANSI C 编写,高性能的Key-Value的NoSQL数据库. 1.2 Redis特点 (1)基于内存 (2)可持久化数据 (3)具 ...

  9. Redis 3.0.2集群搭建以及相关问题汇总

    Redis3 正式支持了 cluster,是为了解决构建redis集群时的诸多不便 (1)像操作单个redis一样操作key,不用操心key在哪个节点上(2)在线动态添加.删除redis节点,不用停止 ...

  10. CDH 6.0.1 集群搭建 「Before install」

    从这一篇文章开始会有三篇文章依次介绍集群搭建 「Before install」 「Process」 「After install」 继上一篇使用 docker 部署单机 CDH 的文章,当我们使用 d ...

随机推荐

  1. vue3 ts 类式写法的mixins

    vue-property-decorator 混入(mixins) // mixins.ts import { Vue } from 'vue-property-decorator' class Mi ...

  2. C# System.ObjectDisposedException: Cannot access a disposed object, A common cause of thiserror is disposing a context that was resolved from dependency injection and then later trying touse...

    项目中使用了依赖注入,这个错误在我项目中的原因:在async修饰的异步方法中,调用执行数据库操作的方法时,没有使用await关键字调用,因为没有等待该调用,所以在调用完成之前将继续执行该方法.因此,已 ...

  3. dotnet初探:用miniapi创建一个自己的url

    致谢 首先写在前面,非常感谢微软mvp桂素伟先生的技术分享,因为微软的文档大部分都如机器翻译般的生硬,让人难以读下去,正是他的无私分享为我的.net学习旅程提供了方向,非常感谢.如果大家对他比较感兴趣 ...

  4. Windows 与 虚拟机VirtualBox 共享挂载

    在自己的电脑上安装了虚拟机后,经常会有需要把Windows这边的文件或文件夹拷贝到虚拟机上,简单记录一下. 如下图,设备--共享文件夹 然后在Windows上创建共享文件夹 执行命令 sudo mkd ...

  5. 开心档之MySQL 连接

    MySQL 连接 使用mysql二进制方式连接 您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库. 实例 以下是从命令行中连接mysql服务器的简单实例: [root@ ...

  6. C# List转SqlServer、MySql中in字符串

    var oneList = new List<string> { "1", "2", "3" }; var oneString ...

  7. 深度学习04-(Tensorflow简介、图与会话、张量基本操作、Tensorboard可视化、综合案例:线性回归)

    深度学习04-Tensorflow 深度学习04-(Tensorflow) Tensorflow概述 Tensorflow简介 什么是Tensorflow Tensorflow的特点 Tensorfl ...

  8. Python-zmail发送简单邮件

    简介: Zmail 使得在python3中发送和接受邮件变得更简单.你不需要手动添加服务器地址.端口以及适合的协议,zmail会帮你完成.此外,使用一个python字典来代表邮件内容也更符合直觉 安装 ...

  9. CSS绘制虚线的方案

    一.实现效果 二.代码实现 <div class="line"></div> .line { width: 1px; /* 虚线宽度 */ backgrou ...

  10. 2021-11-14:Fizz Buzz。给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer(下标从 1 开始)返回结果,其中:answer[i

    2021-11-14:Fizz Buzz.给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer(下标从 1 开始)返回结果,其中:answer[i ...