Nacos-2.1.1安装配置+集群

2023-11-13

nacos-2.1.1安装配置+集群(Linux)

本篇博客用于记录我学习配置nacos集群,因为网上大多教程采用的是伪集群(通过访问不同端口号来模拟实现不同主机集群)的教学方式,虽无二致,但还是希望能通过不同服务器进行更加真实的nacos集群实操。

一、环境准备

1、准备三台及以上CentOS7操作系统的服务器(虚拟机),配置单机一台即可
2、由于nacos需要依赖Java环境运行,因此需要安装配置JDK1.8
3、下载nacos-server-2.1.1.tar.gz
在这里插入图片描述
4、安装配置mysql,本文通过docker安装mysql,也可以采用其他方式安装

二、Nacos安装、运行(单机)

1、在/opt目录下新建目录/nacos-2.1.1

[root@zyf_01 opt]# mkdir nacos-2.1.1

2、通过XFTP将下载好的nacos-server-2.1.1.tar.gz上传到/nacos-2.1.1目录下,并解压

# 解压到/nacos-2.1.1目录下
[root@zyf_01 nacos]# tar -zxvf nacos-server-2.1.1.tar.gz
# 删除安装包(个人习惯)
[toot@zyf_01 nacos-2.1.1]# rm nacos-server-2.1.1.tar.gz

在这里插入图片描述
3、开放端口

nacos默认的端口为8848,由于Nacos2.x版本相比1.x新增了gRPC的通信方式,因此需要增加2个端口。新增端口是在配置的主端口(server.port)基础上,进行一定偏移量自动生成(分别偏移了1000和1001)

注意:防火墙需要开放8848、9848、9849三个端口

端口 与主端口偏移量 描述
9848 1000 客户端gRPC请求服务端端口,用于客户端向服务端发起连接和请求
9849 1001 服务端gRPC请求服务端端口,用于服务间同步等

例:如果nacos主端口为8858,那么新增的gRPC端口为9858和9859

4、检查防火墙是否已经放开8848、9848、9849三个端口

查看防火墙状态 # systemctl status firewalld
开启防火墙 # systemctl start firewalld
关闭防火墙 # systemctl stop firewalld

# 在防火墙启动的情况下使用以下命令:
查看已经开放的端口 # firewall-cmd --zone=public --list-ports
新增开放端口 # firewall-cmd --zone=public --add-port=端口号/tcp --permanent
重新载入开放端口 # firewall-cmd --reload
重启防火墙 # systemctl restart firewalld

5、至此,nacos已经可以启动运行(单机,且使用的是nacos内嵌的delby数据库)
在这里插入图片描述
standalone代表单机模式运行,非集群模式

三、替换nacos内置数据源

目前nacos仅支持mysql作为nacos的外置数据源

(1)切换到/conf目录下,找到如下图的sql文件
在这里插入图片描述
(2)创建数据库nacos_config,在此数据库下运行nacos-mysql.sql文件,运行结果如下:

在这里插入图片描述
(3)修改application.properties配置文件

# 备份文件
[root@zyf_01 conf]# cp application.properties application.properties.init
# 编辑application.properties,使用vim编辑器编辑,没有的可以下载 yum -y install vim
[root@zyf_01 conf]# vim application.properties

在这里插入图片描述

四、nacos集群配置

Nacos集群官方推荐使用Linux操作系统,且至少需要3个或3个以上Nacos节点才能构成集群。

在这里插入图片描述
此图源自nacos官网文档

默认三台服务器均已进行上述配置,且均使用相同数据源作为外置数据源,以下配置在三台服务器上都要

(1)修改cluster.conf集群配置文件

# 复制cluster.conf.example文件为cluster.conf
[root@zyf_01 conf]# cp cluster.conf.example cluster.conf
# 修改cluster.conf配置文件
[root@zyf_01 conf]# vim cluster.conf

在这里插入图片描述
(2)运行三台服务器上的nacos

# 运行nacos(集群+外置数据源运行方式)
[root@zyf_01 bin]# sh startup.sh
# 查看运行日志
[root@zyf_01 bin]# tail -f ../logs/start.out

在这里插入图片描述

(3)浏览器分别输入三台服务器的IP:端口号/nacos

思考?:我们在访问nacos集群时,集群中有多少台nacos就有多少个访问地址,那这样在项目中就会配置很多个访问地址,非常的不方便,因此我们可以使用Nginx进行反向代理,通过Nginx代理请求,同时实现负载均衡。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Nacos-2.1.1安装配置+集群 的相关文章

  • Spring Batch 多线程 - 如何使每个线程读取唯一的记录?

    这个问题在很多论坛上都被问过很多次了 但我没有看到适合我的答案 我正在尝试在我的 Spring Batch 实现中实现多线程步骤 有一个包含 100k 条记录的临时表 想要在 10 个线程中处理它 每个线程的提交间隔为 300 因此在任何时
  • 在画布上绘图

    我正在编写一个 Android 应用程序 它可以在视图的 onDraw 事件上直接绘制到画布上 我正在绘制一些涉及单独绘制每个像素的东西 为此我使用类似的东西 for int x 0 x lt xMax x for int y 0 y lt
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • Android:捕获的图像未显示在图库中(媒体扫描仪意图不起作用)

    我遇到以下问题 我正在开发一个应用程序 用户可以在其中拍照 附加到帖子中 并将图片保存到外部存储中 我希望这张照片也显示在图片库中 并且我正在使用媒体扫描仪意图 但它似乎不起作用 我在编写代码时遵循官方的Android开发人员指南 所以我不
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • 多个 Maven 配置文件激活多个 Spring 配置文件

    我想在 Maven 中构建一个环境 在其中我想根据哪些 Maven 配置文件处于活动状态来累积激活多个 spring 配置文件 目前我的 pom xml 的相关部分如下所示
  • 如何为俚语和表情符号构建正则表达式 (regex)

    我需要构建一个正则表达式来匹配俚语 即 lol lmao imo 等 和表情符号 即 P 等 我按照以下示例进行操作http www coderanch com t 497238 java java Regular Expression D
  • 从 127.0.0.1 到 2130706433,然后再返回

    使用标准 Java 库 从 IPV4 地址的点分字符串表示形式获取的最快方法是什么 127 0 0 1 到等效的整数表示 2130706433 相应地 反转所述操作的最快方法是什么 从整数开始2130706433到字符串表示形式 127 0
  • Java按日期升序对列表对象进行排序[重复]

    这个问题在这里已经有答案了 我想按一个参数对对象列表进行排序 其日期格式为 YYYY MM DD HH mm 按升序排列 我找不到正确的解决方案 在 python 中使用 lambda 很容易对其进行排序 但在 Java 中我遇到了问题 f
  • 为什么HashMap不能保证map的顺序随着时间的推移保持不变

    我在这里阅读有关 Hashmap 和 Hashtable 之间的区别 http javarevisited blogspot sg 2010 10 difference Between hashmap and html http javar
  • getResourceAsStream() 可以找到 jar 文件之外的文件吗?

    我正在开发一个应用程序 该应用程序使用一个加载配置文件的库 InputStream in getClass getResourceAsStream resource 然后我的应用程序打包在一个 jar文件 如果resource是在里面 ja
  • python获取上传/下载速度

    我想在我的计算机上监控上传和下载速度 一个名为 conky 的程序已经在 conky conf 中执行了以下操作 Connection quality alignr wireless link qual perc wlan0 downspe
  • 使用 \r 并打印一些文本后如何清除控制台中的一行?

    对于我当前的项目 有一些代码很慢并且我无法使其更快 为了获得一些关于已完成 必须完成多少的反馈 我创建了一个进度片段 您可以在下面看到 当你看到最后一行时 sys stdout write r100 80 n I use 80覆盖最终剩余的
  • AWS 无法从 START_OBJECT 中反序列化 java.lang.String 实例

    我创建了一个 Lambda 函数 我想在 API 网关的帮助下通过 URL 访问它 我已经把一切都设置好了 我还创建了一个application jsonAPI Gateway 中的正文映射模板如下所示 input input params
  • Google App Engine 如何预编译 Java?

    App Engine 对应用程序的 Java 字节码使用 预编译 过程 以增强应用程序在 Java 运行时环境中的性能 预编译代码的功能与原始字节码相同 有没有详细的信息这是做什么的 我在一个中找到了这个谷歌群组消息 http groups
  • 如何在桌面浏览器上使用 webdriver 移动网络

    我正在使用 selenium webdriver 进行 AUT 被测应用程序 的功能测试自动化 AUT 是响应式网络 我几乎完成了桌面浏览器的不同测试用例 现在 相同的测试用例也适用于移动浏览器 因为可以从移动浏览器访问 AUT 由于它是响
  • 获取 JVM 上所有引导类的列表?

    有一种方法叫做findBootstrapClass对于一个类加载器 如果它是引导的 则返回一个类 有没有办法找到类已经加载了 您可以尝试首先通过例如获取引导类加载器呼叫 ClassLoader bootstrapLoader ClassLo
  • 静态变量的线程安全

    class ABC implements Runnable private static int a private static int b public void run 我有一个如上所述的 Java 类 我有这个类的多个线程 在里面r
  • Firebase 添加新节点

    如何将这些节点放入用户节点中 并创建另一个节点来存储帖子 我的数据库参考 databaseReference child user getUid setValue userInformations 您需要使用以下代码 databaseRef
  • 使用 xpath 和 vtd-xml 以字符串形式获取元素的子节点和文本

    这是我的 XML 的一部分

随机推荐

  • Leetcode26-28,这几道简单有趣的算法题你都会吗?

    26 删除排序数组中的重复项 题目要求 给定一个排序数组 你需要在原地删除重复出现的元素 使得每个元素只出现一次 返回移除后数组的新长度 不要使用额外的数组空间 你必须在原地修改输入数组并在使用O 1 额外空间的条件下完成 示例1 给定数组
  • flutter GestureDetector onTop 点击反应过慢

    如果你遇到过需要自己定义的带手势的view 发现点击几下可能只响应一次 很有可能是GestureDetector的child没有加背景 有时GestureDetector的child不需要加背景也可以点击 但是只可以点击child显示有内容
  • 几个常用数学知识点

    机器学习跟数学有着紧密的关系 因此掌握一些常用的数学知识点 有助于我们理解某些模型的底层相关原理 1 泰勒公式 2 驻点 极值点 鞍点 拐点 2 1 驻点 在数学 特别在微积分 函数在一点处的一阶导数为零 该点即函数的驻点 Stationa
  • MyBatis中的statementType详解

    在mapper文件中可以使用statementType标记使用什么的对象操作SQL语句 statementType 标记操作SQL的对象 取值说明 1 STATEMENT 直接操作sql 不进行预编译 获取数据 Statement 2 PR
  • 各种酒英文名

    okolehao 夏威夷烧酒 芋薯烧酒 orgeat 杏仁橘花香茶一种用于鸡尾酒和食物中的 含有桔子与杏仁的甜作料 杏仁糖浆 鸡尾酒的一种配料或食品的香料 不含酒精 杏仁桔花香茶 一种不含酒精的清凉甜饮料 ouzo 茴香烈酒 无色 不甜且有
  • 前端中的滴到思

    hping3 c 200000 d 12000 S w 64 p 801 flood rand source IP c 是数据包数量 d 是数据包的大小 S 是数据包的类型 w winsize 默认 64 p 目标网站的端口 flood 开
  • 解决Windows11系统缺少Windows.Data.Pdf.dll文件出现错误问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个Windows
  • nodeJS fs.writeFile 实现文字换行

    写文件遇见需要换行的情况就在需要换行的内容前面加换行符号就阔以了 简单 r n windows n linux r mac 下面是一个复制文件的方法 每次追加时间戳的时候希望他换行 gt appendFile 的时候内容前面加 r n co
  • php自动验证,ThinkPHP 自动验证及验证规则详解

    ThinkPHP 自动验证 ThinkPHP 内置了数据对象的自动验证功能来完成模型的业务规则验证 自动验证是基于数据对象的 而大多情况下数据对象是基于 POST表单 不是绝对的 创建的 基本的自动验证功能包括 必须字段 email邮箱格式
  • 使用 ChatGPT、Stable Diffusion、React 和 NodeJS 构建网站画廊

    TLDR 在本文中 您将学习如何构建一个 Web 应用程序 该应用程序使用 ChatGPT 和 Stable Diffusion 为您提供的任何网站描述生成徽标和合适的域名 介绍 人工智能正在接管世界 这些技术每天都在震撼着我们的世界 Ch
  • 家里用服务器放在哪个位置,路由器摆放在家中哪个位置好 路由器摆放位置【详解】...

    路由器摆放在家中哪个位置好 路由器的摆放位置其实非常讲究的 这里就给大家讲解下相关知识 一起来看看 其实wifi所发射的信号 也就是无线电波 向手机和收音机发射出的电磁波是一样的 但是呢wifi的信号相当的短 一般常见的话只有12公分左右
  • Windows Server 系列 - User logon name(pre-Windows 2000) 和 User logon name 的区别

    一 在Active Directory中一直疑惑User logon name pre Windows 2000 和 User logon name这两个字段的区别 详细如下 AD UI界面展示名称 AD 后端属性名称 User logon
  • 使用Composition API和setup语法糖重构Vue组件

    Vue3 引入了Composition API 它是一种更灵活的方式来组织和复用组件的逻辑 而不是依赖于传统的选项式API 如data methods computed等 Composition API的核心是一个名为setup的函数 它可
  • 如何在github上重命名或修改文件夹

    在github上整理流程的时候 有一个文件夹命名不合适 想返回去改 但是在网页上没有找到重命名文件夹的选项 经过一番折腾之后 我是这么做的 1 首先在服务器上找到公匙 公匙在 ssh目录下 以 pub结尾的文件 将其复制 2 在github
  • markdown基本用法

    标题 和 都可以用于表示标题 一级标题 二级标题 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 标题的前后都要空一行 号后应当加一个空格 和 应当顶格书写 建议使用 来表示标题 字体 斜体 斜体 加粗 粗体 斜体 加粗 斜体
  • OpenCV中的人脸活体检测和身份认证如何实现?OpenCV人脸识别

    本文将介绍如何在OpenCV中实现人脸活体检测和身份认证 结合人脸检测 关键点定位和深度学习模型 我们可以有效地检测和区分真实人脸和照片 视频等非真实生物特征 以实现可靠的身份认证和活体检测 人脸检测和关键点定位 使用OpenCV提供的人脸
  • [STM32学习笔记(一)] 如何安装keil5 MDK版本并安装C51

    文章目录 1 注意事项 2 安装流程 2 1 获取Keil5安装包 2 2 安装keil5 2 3破解keil5 MDK 2 4 安装STM32芯片包 3 在安装了mdk的基础上安装c51 1 注意事项 安装路径必须全部是英文 如果已经安装
  • 突破前端反调试:阻止页面无限不断debugger

    不知道你们有没有遇到过上图这样 有时候想调试网站 一打开开发者工具立即 debugger 而且跳过了还是会继续 或者是有时候在调试网页时 突然就给你来一个 debugger 接着就是反复来回 debugger 了 贼烦 那今天分享个教程 教
  • Spock1

    文章目录 背景 扩展 BDD Behavior driven development行为驱动测试 依赖 Demo Spock深入 结构 setup与given assert 异常断言 Mock 创建对象 注入对象 调用频率约束 目标约束 方
  • Nacos-2.1.1安装配置+集群

    Nacos安装配置 集群 nacos 2 1 1安装配置 集群 Linux 一 环境准备 二 Nacos安装 运行 单机 三 替换nacos内置数据源 四 nacos集群配置 nacos 2 1 1安装配置 集群 Linux 本篇博客用于记