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三个端口

端口与主端口偏移量描述
98481000客户端gRPC请求服务端端口,用于客户端向服务端发起连接和请求
98491001服务端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代理请求,同时实现负载均衡。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐