准备:

集群配置图:

  • 官方的:

  • 本次搭建集群配置图:

开始搭建:

  • 修改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. 集合-HashMap 源码详细分析(JDK1.8)

    1. 概述 本篇文章我们来聊聊大家日常开发中常用的一个集合类 - HashMap.HashMap 最早出现在 JDK 1.2中,底层基于散列算法实现.HashMap 允许 null 键和 null 值 ...

  2. 明解STM32—GPIO理论基础知识篇之寄存器原理

    ​ 一.前言 在之前的STM32的GPIO理论基础知识中,分别对基本结构和工作模式进行了详细的介绍.GPIO基本结构中主要对GPIO内部的各个功能电路逐一的进行的分析:GPIO工作模式中主要介绍GPI ...

  3. kubernetes(k8s) 存储动态挂载

    使用 nfs 文件系统 实现kubernetes存储动态挂载 1. 安装服务端和客户端 root@hello:~# apt install nfs-kernel-server nfs-common 其 ...

  4. opengauss配置远程白名单

    DB_VERSION:openGauss 3.0.3 1.允许192.168网段用户使用jack用户登陆 --创建只读账号 CREATE USER jack WITH MONADMIN passwor ...

  5. DG:模拟failover故障与恢复

    问题描述:情形是当主库真正出现异常之后,才会执行的操作,那么我们执行过failover 之后,如何在重新构建DG,这里我们利用flashback database来重构.模拟前主库要开启闪回区,否则要 ...

  6. [Asp.Net Core] 网站中的XSS跨站脚本攻击和防范

    漏洞说明: 跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.恶意攻击者往 ...

  7. Karmada v1.5发布:多调度组助力成本优化

    摘要:在最新发布的1.5版本中,Karmada 提供了多调度组的能力,利用该能力,用户可以实现将业务优先调度到成本更低的集群,或者在主集群故障时,优先迁移业务到指定的备份集群. 本文分享自华为云社区& ...

  8. 关于Java中值传递和址传递

    参数传递在Java中有两种类型 值和址 其实本质都是一份拷贝 在调用函数的时候 进行压栈 传进来的参数会被开辟一份新的空间 传基本类型是把值传过去 传引用数据类型是实例指向实参 void m(int ...

  9. gRPC 应用指引

    一.核心概念.架构及生命周期 1.服务定义 gRPC 默认使用 protocol buffers. service HelloService { rpc SayHello (HelloRequest) ...

  10. [Pytorch框架] 1.1、Pytorch简介

    文章目录 1.1 Pytorch 简介 1.1.1 PyTorch的由来 1.1.2 Torch是什么? 1.1.3 重新介绍 PyTorch 1.1.4 对比PyTorch和Tensorflow 1 ...