容 我 先 说 一 句 : 节 日 快 乐 ! 永 远 九 岁 的 我 们 当 然 不 能 错 过 , 奥 里 给 ! {容我先说一句:节日快乐!永远九岁的我们当然不能错过,奥里给!} 容我先说一句:节日快乐!永远九岁的我们当然不能错过,奥里给!
如果你不懂jdk安装、nacos安装、云服务器操作、云数据库操作;请看1.4的总结。不会搭建nacos集群,你怎么敢说你学过nacos!
文章目录
1、Nacos集群的讲解
nacos官网(集群搭建):https://nacos.io/en-us/docs/cluster-mode-quick-start.html
1.1、为什么要搭建高可用集群?
这个问题我相信都明白,如果只是单独的一台服务器,一旦出现故障,那么整个系统不就over了;所以需要配置集群环境!
1.2、搭建高可用集群需要注意的问题?
1、第一个问题就是集群中的服务器数量不能过多,否者会对性能造成一定的影响,因为数据需要保持一致性嘛!典型的CAP理论,三者不可兼得!
2、当你访问http://ip:8848/nacos/index.html会发现它让你输入用户名密码,另外当你添加配置退出,再进来配置项依然存在,所以肯定有数据库做支撑。nacos使用了嵌入式数据库derby。而在集群环境下是需要切换为mysql数据库的,为什么呢?因为需要保证数据的一致性嘛!且看下面的图片
如果不切换就如上面所以,一台服务器一个数据库,怎么保证数据的一致性呢?所以需要引入以下
这样不就保证的数据的一致性; Nacos官网已经说明了只能使用mysql作为高可用数据库!
1.3、搭建集权需要什么环境
根据官网的这一段进行分析
第一:推荐使64位 Linux,这个我估计你也能猜到(地表最强系统)
第二:64位 JDK1.8+(包括1.8)
第三:maven 3.2.x+这个应该都会满足
第四:最少三个nacos节点
1.4、jdk安装、nacos安装配置最全教程
云服务器Linux jdk安装详解 | https://blog.csdn.net/Kevinnsm/article/details/116193837?spm=1001.2014.3001.5501 |
---|---|
2021年零基础带你走进nacos的世界之云服务器下载安装nacos-小白教程,详细到爆了! | https://blog.csdn.net/Kevinnsm/article/details/117387323?spm=1001.2014.3001.5501 |
本地Navicat连接阿里云数据库RDS for MySQL(全网最详细,没有之一!) | https://blog.csdn.net/Kevinnsm/article/details/117437544?spm=1001.2014.3001.5501 |
不会Nacos的配置中心?你怎么敢的呀!如何一步步实现Nacos作为服务的配置中心(全网最详系列) | https://blog.csdn.net/Kevinnsm/article/details/117410495?spm=1001.2014.3001.5501 |
一分钟带你快速进入Nacos的世界,史上最简易教程!零基础也能看明白!谁反对? | https://blog.csdn.net/Kevinnsm/article/details/117390678?spm=1001.2014.3001.5501 |
2、从derby切换到mysql数据库
上文我们已经了解了nacos默认使用derby数据库,如果我们要搭建高可用的集群环境,那么切换数据库必不可少!
2.1、首先使用本地navicat连接到云数据库RDS for MySQL
连接教程:https://blog.csdn.net/Kevinnsm/article/details/117437544?spm=1001.2014.3001.5501
2.2、导入nacos-mysql.sql脚本
这个sql脚本就是我们derby数据库里面的所有字段,所以我们需要将其导入进mysql
cd到conf文件夹下,将nacos-mysql.sql传输到本地(使用xftp进行传输,如果不知道,请移步:
https://blog.csdn.net/Kevinnsm/article/details/116193837?spm=1001.2014.3001.5501
打开navicat(如果没连接请看2.1),新建nacos_config(注意这个是和配置文件对应的)
然后运行sql脚本
刷新一下就会出现以下库表
users表中的数据就是我们默认用户名和密码(nacos、nacos)
2.3、更改nacos的配置文件
注意mysql8.0+版本url记得末尾加serverTimezone=UTC
mysql8.0+在nacos目录下建立/plugins/mysql文件夹,放入mysql驱动
2.4、启动测试
访问:http://ip:8848/nacos/index.html,输入nacos 、nacos,进去之后会发现以前配置的什么都没有了,然后新建一个配置
查看数据库
成功!
3、开始搭建集群
因为我已经准备了三台云服务器和一台云数据库RDS for MySQL,并且已经安装好了nacos
3.1、更改application.properties
c
d
到
n
a
c
o
s
的
c
o
n
f
目
录
下
,
编
辑
a
p
p
l
i
c
a
t
i
o
n
.
p
r
o
p
e
r
t
i
e
s
{cd到nacos的conf目录下,编辑application.properties}
cd到nacos的conf目录下,编辑application.properties
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://ip:3306/nacos_configcharacterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=xxxxxx
db.password=xxxxxxxx
注 意 m y s q l 8.0 + 版 本 需 要 加 时 区 {注意mysql8.0+版本需要加时区} 注意mysql8.0+版本需要加时区
3.2、编辑cluster.conf文件
1、cd到conf目录下 ,默认情况下cluster.conf是不存在的,但是官方给出一个示例cluster.conf.example
2、cp cluster.conf.example cluster.conf ,复制一份到cluster.conf
编辑cluster.conf,输入你的集群ip;由于我已经弄好访问过,所以会新增一个ip,也就是第二个ip。
3 台 服 务 器 都 要 进 行 这 个 操 作 {3台服务器都要进行这个操作} 3台服务器都要进行这个操作
3.3、nginx下载安装
安装教程:https://blog.csdn.net/Kevinnsm/article/details/114646269
3.4、nginx配置upstream组实现代理
cd到nginx的conf目录下,编辑nginx.conf文件
4、测试集群
先启动三台服务器中的nacos,然后启动nginx,下面看我的集群架构图
访 问 h t t p : / / i p : 80 / n a c o s / {访问http://ip:80/nacos/} 访问http://ip:80/nacos/
输
入
用
户
名
和
密
码
n
a
c
o
s
、
n
a
c
o
s
{输入用户名和密码nacos、nacos}
输入用户名和密码nacos、nacos
N
a
c
o
s
集
群
搭
建
成
功
!
{Nacos集群搭建成功!}
Nacos集群搭建成功!