nacos集群部署与配置

一、前言

nacos是阿里开源的一个集服务发现与配置管理与一体的项目,可以帮我们微服务实现动态服务发现、服务配置、服务元数据及流量管理。本篇文章主要纪录nacos集群的搭建过程。

nacos主要依赖环境为64位的jdk1.8+版本

本次主要在三台虚拟机安装:server1:192.168.1.161、server2:192.168.1.162、server3:192.168.1.163

二、下载、编译

1、nacos项目自身相对较大,而受网络的影响从github上下载较慢,可以gitee进行下载

git clone https://gitee.com/mirrors/Nacos.git

2、编译

在下载好的nacos根目录执行打开命令行,执行mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U进行编译打包,也可以下载官方已经编译好的包,地址为:https://github.com/alibaba/nacos/releases/download/1.3.0/nacos-server-1.3.0.tar.gz

拷贝nacos/distribution/target/nacos-server-1.3.2.tar.gz到server1的/data目录下

解压tar -zxf nacos-server-1.3.2.tar.gz

三、修改相关配置

1、修改集群配置/data/nacos/conf/cluster.conf

#打开配置文件所在目录
cd /data/nacos/conf/
#修改集群配置文件名
mv cluster.conf.example cluster.conf
#修改集群配置
vim cluster.conf
    192.168.1.161:8848
    192.168.1.162:8848
    192.168.1.163:8848

2、修改数据源配置/data/nacos/conf/application.properties

### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://192.168.1.163:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=nacos
db.password=nacos123

3、创建数据库nacos,执行/data/nacos/conf/nacos-mysql.sql脚本

4、创建帐号nacos/nacos123

CREATE USER 'nacos'@'%' IDENTIFIED BY 'nacos123';

GRANT ALL ON nacos.* TO 'nacos'@'%';

四、复制配置好的项目到其他两台服务器

1、window下编译出来的shell脚本中多了^M符号会导致执行的时候报语法错误,可以通过cat -v startup.sh查看,如果带^M符号,可以通过以下命令删除掉

sed -i 's/\r//g' /data/nacos/bin/startup.sh
sed -i 's/\r//g' /data/nacos/bin/shutdown.sh

2、复制到另外两台服务器

scp -r /data/nacos/ root@server2:/data/

scp -r /data/nacos/ root@server3:/data/

五、启动并登陆测试

1、逐台机器进行启动

#逐台执行以下命令启动nacos服务
sh /data/nacos/startup.sh

2、登陆测试,默认的账号密码nacos/nacos

http://192.168.1.161:8848/nacos

http://192.168.1.162:8848/nacos

http://192.168.1.163:8848/nacos

nacos集群部署与配置_第1张图片

3、测试服务注册、服务发现、发布配置、获取配置

在其中一台机器执行curl -X PUT 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'可以同时在三台机器的服务列表中看到对应的服务nacos.naming.serviceName

nacos集群部署与配置_第2张图片

通过curl -X GET 'http://127.0.0.1:8848/nacos/v1/ns/instances?serviceName=nacos.naming.serviceName'可以看到成功获取到nacos.naming.serviceName相关信息

通过curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=helloWorld"可以发布配置nacos.cfg.dataId

nacos集群部署与配置_第3张图片

通过curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"可以获取到nacos.cfg.dataId的配置内容

六、其他更多参数配置以及API可以参考官网

开放API:https://nacos.io/zh-cn/docs/open-api.html

更多参数:https://nacos.io/zh-cn/docs/system-configurations.html

 

你可能感兴趣的:(微服务,后端,微服务)