nacos如何搭建单机与集群?

125 阅读4分钟

目录

一、nacos介绍

二、单机模式

三、集群模式

1、环境准备

2、配置


一、nacos介绍

Nacos 是 Dynamic Naming and Configuration Service 的首字母简称;一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

Nacos 的关键特性包括:

服务发现和服务健康监测

动态配置服务

动态 DNS 服务

服务及其元数据管理

官方文档: nacos.io/zh-cn/docs/…

OpenAPI文档:nacos.io/zh-cn/docs/…

二、单机模式

官方文档: nacos.io/zh-cn/docs/…

下载安装包

下载地址:github.com/alibaba/nac…

server-2.1.0.tar.gz

解压,进入nacos目录,单机模式启动nacos

#单机模式启动nacos
bin/startup.sh ‐m standalone

也可以修改默认启动方式

​编辑

访问nacos的管理端:http://192.168.56.10:8848/nacos ,默认的用户名密

码是 nacos/nacos

​编辑

三、集群模式

官网文档: nacos.io/zh-cn/docs/…

1、环境准备

安装好 JDK,需要 1.8 及其以上版本

建议: 2核 CPU / 4G 内存 及其以上

建议: 生产环境 3 个节点 及其以上

注意:在单台服务器上搭建伪集群不能使用连续端口号(比如8848,8849,8850), 因为使用8848(grpc会占用9848,9849),8849(grpc会占用9849,9850),会导致端口冲突

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

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

2、配置

进入其中一台服务器的nacos目录

(1)修改conf/application.properties的配置,使用外置数据源

#使用外置mysql数据源
spring.datasource.platform=mysql

### Count of DB:
db.num=1

### Connect URL of DB:
db.url.0=jdbc:mysql://192.168.65.204:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=root

​编辑

(2) 将conf/cluster.conf.example改为cluster.conf,添加节点配置

mv conf/cluster.conf.example conf/cluster.conf
vim conf/cluster.conf

# ip:port
192.168.65.174:8848
192.168.65.192:8848
192.168.65.204:8848

注意:不要使用localhost或127.0.0.1,针对多网卡环境,nacos可以指定网卡或ip

#多网卡选择
#ip‐address参数可以直接设置nacos的ip
#该参数设置后,将会使用这个IP去cluster.conf里进行匹配,请确保这个IP的值在cluster.conf里是存在的
nacos.inetutils.ip‐address=192.168.65.206

#use‐only‐site‐local‐interfaces参数可以让nacos使用局域网ip,这个在nacos部署的机器有多网卡时很有用,可以让nacos选择局域网网卡
nacos.inetutils.use‐only‐site‐local‐interfaces=true

#ignored‐interfaces支持网卡数组,可以让nacos忽略多个网卡
nacos.inetutils.ignored‐interfaces[0]=eth0
nacos.inetutils.ignored‐interfaces[1]=eth1

#preferred‐networks参数可以让nacos优先选择匹配的ip,支持正则匹配和前缀匹配
nacos.inetutils.preferred‐networks[0]=30.5.124.

其他几个nacos服务器按同样的方式配置。

(3)mysql中创建nacos数据库

sql脚本:

github.com/alibaba/nac…

注意,nacos1和2版本的sql脚本有所区别。

(4) 如果内存不够,可以调整jvm参数

#修改启动脚本
vim bin\startup.sh

​编辑

(5) 分别启动三个节点上的nacos

以192.168.65.204为例,进入nacos目录,启动nacos

#启动nacos
bin/startup.sh

​编辑

(6) 访问nacos管理界面

登录http://192.168.65.204:8848/nacos,用户名和密码都是nacos

 配置一个nginx,然后绑定到3个nacos上,就可以实现负载均衡了。