Linux系统中nacos集群搭建看这一篇就够了

提前预知

为什么要做集群,有什么用?

  • 其实就是为了应用的高可用,避免一台挂了,导致应用不可用

为什么要使用Ngnix?

  • 因为这玩意抗揍,能支持高并发不挂机
  • 其实不使用Ngnix服务器也可以,只不过没有这么抗揍

Nacos集群介绍
在这里插入图片描述

我们要实现的集群形式如下:需要1个Nginx+3个nacos注册中心+1个mysql

在这里插入图片描述

其实做集群挺好玩的,就是有点费硬件,为了真正实现上面的集群,我们需要准备五台Linux服务器或者五个Linux虚拟机:

虚拟机IP安装软件
192.168.1.101安装Ngnix服务器
192.168.1.102安装Nacos服务1
192.168.1.103安装Nacos服务2
192.168.1.104安装Nacos服务3
192.168.1.105安装MySQL服务

我的硬件扛不住,我就在一个虚拟机上做,配置如下:

虚拟机IP安装软件
192.168.1.101安装Ngnix服务器, 安装Nacos服务1,安装Nacos服务2,安装Nacos服务3 ,安装MySQL服务

Nginx服务抗揍,只要这个Nginx服务不挂,下面的三个节点只要有一个活着就行,三台Nacos同时都挂机这种情况应该不常见吧!!

Linux虚拟机安装传送门:Linux虚拟机安装看看这里!!!!

Linux环境要求:

  • java8及其以上的JDK
  • 5.6.5+的MySQL数据库
  • Ngnix服务器
  • Nacos注册中心

Linux中的JDK安装和配置

参考链接:Linux系统中安装JDK

Linux系统中MySQL数据的安装和配置

参考链接:Linux系统中安装MySQL

Linux系统中Ngnix服务器的安装和配置

参考链接:Linux系统中安装Nginx

Linux系统中Nacos的安装和配置

Nacos下载

Nacos下载Linux版:Github地址
在这里插入图片描述

Nacos安装

我一般都是将软件安装在/usr/lib目录下面,不同的人有不同的风格,你可以安装在别的目录下面,这个不在啰嗦!!

注意:通过XftpLinux系统中拖拽文件时,需要修改Linux系统中文件夹的权限
往哪个文件夹中上传文件,就要修改那个文件夹的权限
此处修改/usr/lib文件夹的权限
修改权限需要使用管理员权限:su root
修改权限,在usr目录下执行命令:chmod 777 /usr/lib

下载好之后,通过远程连接工具将下载的文件传输到Linux的/usr/lib目录下面:
在这里插入图片描述
注意:解压即安装在/usr/lib目录下面执行命令:

tar -zxvf nacos-server-1.4.2.tar.gz
在这里插入图片描述

单机版Nacos测试连接

我们刚开始使用单机版的Nacos进行测试,在测试之前我们先要开放Nacos的端口号:8848

直接访问可能访问不到,因为Linux中有防火墙,下面对防火墙进行设置:
- 查看开放的端口号:firewall-cmd --list-all
- 设置开放端口号:sudo firewall-cmd --add-port=8848/tcp --permanent
- 重启防火墙:firewall-cmd --reload

现在外部就可以访问8848端口了

启动Nacos,在/usr/lib/nacos/bin目录下面,执行下面的命令启动:

./startup.sh -m standalone

在这里插入图片描述

链接测试:

访问方式为:IP+端口号
我的虚拟机IP为:192.168.1.101

所以访问链接为:http://192.168.1.101:8848/nacos/

初始的账号和密码都是:nacos

在这里插入图片描述

Nacos集群打造

准备阶段

集群打造其实也不难,有了上面的基础就好做了,我们在/usr/lib/目录下新建三个目录:

[root@localhost lib]# mkdir nacos1
[root@localhost lib]# mkdir nacos2
[root@localhost lib]# mkdir nacos3

将Nacos服务的压缩包分别解压到这三个目录下面:

[root@localhost lib]# tar -zxvf nacos-server-1.4.2.tar.gz  -C nacos1

[root@localhost lib]# tar -zxvf nacos-server-1.4.2.tar.gz  -C nacos2

[root@localhost lib]# tar -zxvf nacos-server-1.4.2.tar.gz  -C nacos3

数据库准备

在集群中我们使用的持久化方案是,将数据存储到关系型数据库MySQL中(其实也只支持MySQL),我们需要先在我们的MySQL数据库中建一个名字为nacos_config的数据库,建表语句在/usr/lib/nacos1/nacos/conf/目录下面:
在这里插入图片描述
如何建表:我的方法是将这个SQL文件传输到我的Win本机,然后用数据库可视化连接工具,连接我的MySQL数据库,执行这个SQL文件:
在这里插入图片描述
执行完的结果图:
在这里插入图片描述
注意:

  • MySQL也可以使用集群(官网也是这样建议的),我们此处没有使用
  • Nacos中本身也自带了一个嵌入式的数据库,但是如果做集群的话使用这个自带的嵌入式的数据库可能会发生数据冲突(因为数据没有被所有节点共享),官网中也说了可以使用自带的嵌入式数据库做集群
  • 官网说明如下
    在这里插入图片描述

修改Nacos的application.properties配置文件

要养成一个好习惯,就是修改配置文件的时候,先将这个配置文件备份一下,如果出错还可以重来,给自己留一条后路。

Nacos的配置文件在/usr/lib/nacos1/nacos/conf下面的:application.properties

先备份:

- cp application.properties  application-副本.properties

在这里插入图片描述
再修改:

vim application.properties

配置文件,在文件中添加如下内容:

  • 注意:数据库的名称为nacos_config
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=12345678

在这里插入图片描述
nacos1端口号为8847,nacos1端口号为8848,nacos1端口号为8849

如法炮制,修稿nacos2和nacos3的配置文件

修改Nacos的nacos的集群配置文件cluster.conf

这个配置文件在/usr/lib/nacos1/nacos/conf目录下,名字为:cluster.conf.example

我们先拷贝一份:

cp  cluster.conf.example  cluster.conf

再修改:

vim cluster.conf

配置文件,在文件中添加如下内容:

  • 注意:IP为虚拟机的IP,后面的端口号为我们集群中各个Nacos的端口号
192.168.1.101:8847
192.168.1.101:8848
192.168.1.101:8849
  • 设置完之后,记得打开这些端口号
- 查看开放的端口号:firewall-cmd --list-all
- 设置开放端口号:sudo firewall-cmd --add-port=8847/tcp --permanent
- 重启防火墙:firewall-cmd --reload

启动方式

还记得上面演示的单机版的Nacos的启动方式吗?如下:

./startup.sh -m standalone

注意:集群的启动方式和单机版的不一样,如下,切记:三个Nacos服务都要使用这个命令启动

分别在/usr/lib/nacos1/nacos/bin/usr/lib/nacos1=2/nacos/bin/usr/lib/nacos3/nacos/bin目录下执行下面的命令:

./startup.sh

使用Ngnix作为负载均衡器

修改nginx的配置文件:nginx.conf

该文件的位置在:/usr/local/nginx/conf目录下面
在这里插入图片描述
先备份:

cp nginx.conf  nginx-副本.conf

再修改:
在这里插入图片描述

upstream cluster{
 server 192.168.1.101:8847;
 server 192.168.1.101:8848;
 server 192.168.1.101:8849;
}
  • 修改完记得开放端口号:1111
- 查看开放的端口号:firewall-cmd --list-all
- 设置开放端口号:sudo firewall-cmd --add-port=1111/tcp --permanent
- 重启防火墙:firewall-cmd --reload

最后测试

截止到此处,1个Nginx+3个nacos注册中心+1个mysql已经配置完毕了,下面开始测试

在前面已经启动了3个nacos服务:

查看nacos进程启动数:ps -ef | grep nacos | grep -v grep | wc -l

单独访问一下,看看实例是否都成功起来:

- http://192.168.1.101:8847/nacos/#/login
- http://192.168.1.101:8848/nacos/#/login
- http://192.168.1.101:8849/nacos/#/login

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

/usr/local/nginx/sbin/目录下启动nginx,注意启动的时候要指定配置文件为刚才配置的那个!!!

./nginx -c /usr/local/nginx/conf/nginx.conf

查看nginx进程:ps -ef|grep nginx

测试通过nginx,访问nacos:http://192.168.1.101:1111/nacos/#/login
在这里插入图片描述

  • 16
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彤彤的小跟班

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值