1. 背景

生产环境中往往采用集群的方式保证Nacos的高可用,本文记录了搭建的过程。

Nacos集群的搭建时要注意:1.xx 版本和 2.xx 版本有区别。从2.0开始Nacos使用了 gRPC ,需要开放额外的端口。我就遇到了 各个 Nacos 节点无法互相复制,注册的服务不一致的情况。

2. 安装Nacos

集群模式部署
这个快速开始手册是帮忙您快速在你的电脑上,下载安装并使用Nacos,部署生产使用的集群模式。

集群部署架构图

image.png

因此开源的时候推荐用户把所有服务列表放到一个vip下面,然后挂到一个域名下面

http://ip1:port/openAPI 直连ip模式,机器挂则需要修改ip才可以使用。

http://SLB:port/openAPI 挂载SLB模式(内网SLB,不可暴露到公网,以免带来安全风险),直连SLB即可,下面挂server真实ip,可读性不好。

http://nacos.com:port/openAPI 域名 + SLB模式(内网SLB,不可暴露到公网,以免带来安全风险),可读性好,而且换ip方便,推荐模式

2.1. 预备环境准备

请确保是在环境中安装使用:

64 bit OS Linux/Unix/Mac,推荐使用Linux系统。
64 bit JDK 1.8+;下载.配置。
Maven 3.2.x+;下载.配置。
3个或3个以上Nacos节点才能构成集群。

2.2. 下载安装包

下载编译后压缩包方式

unzip nacos-server-1.3.0.zip 或者 tar -xvf nacos-server-1.3.0.tar.gz
cd nacos/bin

2.3. 配置集群配置文件

在nacos的解压目录nacos/的conf目录下,有配置文件 cluster.conf,请每行配置成ip:port。(请配置3个或3个以上节点)

修改 cluster.conf ,命令如下:

vi cluster.conf

内容如下:

# ip:port
200.8.9.16:8848
200.8.9.17:8848
200.8.9.18:8848

2.4. 确定数据源

使用外置数据源
生产使用建议至少主备模式,或者采用高可用数据库。

(1) 初始化 MySQL 数据库

● 进入nacos/conf目录,找到nacos-mysql.sql。
● 登入数据库,创建一个新的数据库,比如叫做 nacos_config。
● 并在 mysql 中执行刚刚的找到的 nacos-mysql.sql 文件的语句来创建表。

(2) application.properties 配置
修改 application.properties配置文件中的数据源描述

spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://ip:3306/nacos_config?characterEncoding=u
tf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&serverTimezone=UTC
db.user=root
db.password=数据库密码

2.5. 启动服务器

在 Linux/Unix/Mac 下安装
(1) 单机模式 Stand-alone mode

sh startup.sh -m standalone

(2) 集群模式

sh startup.sh

6. 配置 Nginx 代理

编辑文件nginx.conf, 命令:

$ cd /usr/local/nginx/conf
$ vi nginx.conf

内容修改:

upstream serverList {
server 172.17.0.112:8847;
server 172.17.0.111:8847;
server 172.17.0.110:8847;
}server {location / {proxy_pass  http://serverList;}
}

3. Nacos 开机自启的设置

编辑一个服务文件

命名为 start-nacos.sh 文件,内容如下:

#!/bin/bash
export JAVA_HOME=/opt/data/jdk1.8/jdk1.8.0_161
nohup nacos_home/bin/startup.sh -m standalone &

在操作系统启动后 /etc/profile 还未加载,所以这里要先 设置 JAVA_HOME 的环境变量,改成你实际的java jdk 路径。 然后正常启动 nacos 即可。

在 /etc/rc.local 文件的尾部加上下面的内容即可。

sh start-nacos.sh

4. Nacos 2.0.0 和 1.x 的区别

注意 开放gRPC端口

Nacos2.0版本相比1.X新增了gRPC的通信方式,因此需要增加2个端口。新增端口是在配置的主端口(server.port)基础上,进行一定偏移量自动生成。

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

使用VIP/nginx请求时,需要配置成TCP转发,不能配置http2转发,否则连接会被nginx断开。

5.参考

https://nacos.io/zh-cn/docs/2.0.0-compatibility.html

https://blog.csdn.net/lzzyok/article/details/118057217?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2aggregatepagefirst_rank_ecpm_v1~rank_aggregation-1-118057217.pc_agg_rank_aggregation&utm_term=nacos%E9%9B%86%E7%BE%A4+%E6%9C%8D%E5%8A%A1%E5%88%97%E8%A1%A8%E4%B8%8D%E4%B8%80%E8%87%B4&spm=1000.2123.3001.4430


http://www.taodudu.cc/news/show-6595299.html

相关文章:

  • quartz mysql 操作_Quartz 定时任务使用 —— 数据库各表字段的含义(十五)
  • 使用Python进行机器学习的假设检验!
  • php中怎么给文字加颜色,PHP水印类,支持添加图片、文字、填充颜色区域的实现...
  • 图片缩放、旋转、加水印
  • python标志图片_python图片加水印 - 小众知识
  • 【Qt】为应用程序设置标题栏、状态栏、可执行程序显示 三种状态下的图标
  • 笔试题-安排座位
  • 华为OD机试题,用 Java 解【新员工座位安排系统】问题 | 含解题说明
  • 华为OD机试 - 新员工座位安排系统(Python) | 机试题+算法思路+考点+代码解析 【2023】
  • 【华为OD机试模拟题】用 C++ 实现 - 新员工座位安排系统(2023.Q1)
  • 自动分配座位
  • 华为OD机试题 - 新员工座位安排系统(JavaScript)| 机考必刷
  • 华为OD机试 - 新员工座位安排系统(C 语言解题)【独家】
  • 华为OD机试 - 新员工座位安排系统(Python) | 机试题算法思路
  • 【新员工座位安排系统】
  • 千亿咖啡市场,占比七成的速溶赛道,被现磨咖啡倒逼升级?
  • python计算菜单消费总额字典_三、Python的列表、字典、元组合集合
  • python点餐系统早餐_python 点餐系统(仅函数实现)
  • python计算菜单消费总额字典_python之数据运算、字典、列表
  • 大众、特斯拉、麦当劳、英特尔、爱奇艺、瑞幸等公司高管变动
  • 国际化,“万店”瑞幸咖啡的新征程
  • 12000字解读瑞幸咖啡:“异军突起”与“绝处逢生”的奥秘
  • 鸿蒙版瑞幸咖啡开发日记(五)咖啡详情页逻辑实现
  • 鸿蒙版瑞幸咖啡开发日记(三)购物车结算栏开发
  • 鸿蒙版瑞幸咖啡开发日记(一)首页布局设计
  • 鸿蒙版瑞幸咖啡开发日记(二)首页功能实现
  • Recycleview模仿瑞幸咖啡菜单物品列表
  • 新媒体运营需要做些什么
  • 2022年深圳市电子商务创新发展扶持计划电商直播基地扶持项目申报指南
  • 数组倒序输出问题

Nacos 学习笔记2 - 搭建 Nacos 集群相关推荐

  1. Docker学习笔记 — Swarm搭建Docker集群

    http://www.cnblogs.com/rio2607/p/4445968.html#undefined Swarm介绍 Swarm是Docker公司在2014年12月初发布的一套较为简单的工具 ...

  2. kubernetes(K8S)学习笔记P6:K8s集群|java项目部署

    kubernetes(K8S)学习笔记P6:K8s集群|java项目部署 8.集群资源监控 8.1概述 8.2搭建集群监控平台系统 8.2.1部署prometheus 8.2.3部署Grafana 8 ...

  3. 大数据学习笔记05:ZooKeeper集群

    文章目录 一.搭建ZooKeeper集群 1.由CentOS7克隆三个虚拟机 2.配置三个虚拟机 (1)查看静态IP地址 (2)查看主机名 (3)查看主机IP映射 3.利用SecureCRT访问三台虚 ...

  4. hbase1.1.1 连接集群_HBase-1.0.1学习笔记(一)集群搭建

    鲁春利的工作笔记,好记性不如烂笔头 如下配置参照了http://hbase.apache.org/book.html,详见:hbase-1.0.1.1/docs/book.html 环境配置 1.安装 ...

  5. spark学习笔记-CentOS 6.4集群搭建(2)

    CentOS 6.5安装 1.使用课程提供的CentOS 6.5镜像即可,CentOS-6.5-i386-minimal.iso. 2.创建虚拟机:打开Virtual Box,点击"新建&q ...

  6. SpringCloud学习笔记023---分布式集群之_Windows下搭建zookeeper服务器

    JAVA技术交流QQ群:170933152 1.这个一般是装载centos中的,为了方便装在了windows 10 下 2.先安装JDK,注意要配置JAVA_HOME zookeeper就是通过JAV ...

  7. 调度框架学习笔记(3)—— 集群调度框架的架构演进过程

    本章是 The evolution of cluster scheduler architectures 文章的学习笔记.这篇文章讨论了这些年调度架构是如何发展的以及为什么会这样发展. 首先介绍一下这 ...

  8. Kubernetes的学习笔记总结之k8s集群安装部署

    kubernets 集群安装部署. 安装 Docker 所有节点都需要安装 Docker. apt-get update && apt-get install docker.io 安装 ...

  9. MongoDB学习笔记(三)-----集群架构

    MongoDB 有三种集群部署模式,分别为主从复制(Master-Slaver).副本集(Replica Set)和分片(Sharding)模式. Master-Slaver 是一种主从副本的模式,目 ...

最新文章

  1. ATOM中MARKDOWN的使用小结
  2. Android 起调手机QQ,联系客服
  3. 甘肃省计算机能力vf考试题库,计算机等级考试二级VF模拟试题十及答案解析
  4. [Android]使用Gradle提交自己开源Android库到Maven中心库
  5. StrangeIoC —— Unity MVC 专属框架
  6. E - Wireless Network(并查集)
  7. 找工作知识储备(3)---从头说12种排序算法:原理、图解、动画视频演示、代码以及笔试面试题目中的应用
  8. 《Java语言程序设计》(基础篇原书第10版)第九章复习题答案
  9. 【kaggle注册页面没有显示验证码】
  10. 90后游戏开发大神毛星云跳楼自杀!8年执着国产3A梦碎
  11. ISO14001认证申请条件
  12. 云呐智能运维工具,智能运维工具怎么用
  13. $.ajax %5b%5d,数据传回后台数带有%5B%5D的问题
  14. 想学编程做程序员,是学前端好还是学后台好?
  15. 朱林朝 浙江大学 计算机,附件: - 浙江大学教育基金会.doc
  16. 鲁迅先生的《一件小事》
  17. Matplotlib绘制折线图、散点图、柱状图、直方图、饼图代码
  18. 手机、手环NFC刷门禁卡
  19. 面试题 7 :二叉树遍历-前序遍历(DLR),中序遍历(LDR),后序遍历(LRD)-Android端非递归实现
  20. 主动学习 Active Learning - a survey

热门文章

  1. 软件工程理想团队的二三想
  2. 蒲慕明院士PNAS最新研究:神经元数量在共同激活诱导大脑神经元兴奋性增强的重要性...
  3. 海外服务器便宜的原因和优点
  4. dB、dBm、dBW、W 四者的关系
  5. Rundll32.exe 调用Dll
  6. 自动挡汽车档位说明及图解(转)
  7. html 长度vm,vm与html
  8. 卷积神经网络及YOLO算法 相关
  9. 计算机屋内设计主要是学什么的,想学室内设计师,该从哪方面入手现在一窍不通,以前学的计算机专业 爱问知识人...
  10. 【Unity3D开发小游戏】《扫雷》Unity开发教程