nacos集群配置搭建
时间: 2023-11-07 13:00:53 浏览: 109
概述:
Nacos是一个开源的分布式服务发现、配置管理和服务管理平台,支持多种语言和多种部署模式。本文将介绍如何搭建一个Nacos集群。
环境:
- 操作系统:CentOS 7.6
- Nacos版本:1.4.1
- JDK版本:1.8
步骤:
1. 下载Nacos:
进入Nacos的官网(https://github.com/alibaba/nacos/releases),选择需要的版本进行下载。
下载完成后,将压缩包解压到服务器的/opt目录下。
2. 配置数据库:
Nacos支持多种数据库,本文使用MySQL作为示例。
创建一个名为nacos的数据库,并创建一个名为nacos_config的表。
CREATE DATABASE nacos DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE nacos;
CREATE TABLE `nacos_config` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`data_id` varchar(256) CHARACTER SET utf8mb4 NOT NULL,
`group_id` varchar(128) CHARACTER SET utf8mb4 NOT NULL,
`content` longtext CHARACTER SET utf8mb4 NOT NULL,
`md5` varchar(32) CHARACTER SET utf8mb4 DEFAULT NULL,
`gmt_create` datetime NOT NULL,
`gmt_modified` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uk_data_id_group_id` (`data_id`,`group_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3. 修改配置文件:
进入Nacos的conf目录,将nacos-mysql.sql改名为nacos-mysql.sql.tmp。
将nacos-mysql.sql.tmp文件复制一份,改名为nacos-mysql.sql。
修改nacos-mysql.sql文件,将其中的${db_user}、${db_password}和${db_name}替换为自己的MySQL数据库用户名、密码和数据库名。
执行以下命令创建数据表:
mysql -h127.0.0.1 -uroot -p < nacos-mysql.sql
进入Nacos的conf目录,修改application.properties文件,将其中的以下配置项修改为自己的配置:
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456
4. 启动Nacos:
进入Nacos的bin目录,执行以下命令启动Nacos:
sh startup.sh -m standalone
Nacos将在默认端口8848启动,可以通过浏览器访问http://127.0.0.1:8848/nacos/查看是否成功启动。
5. 配置集群:
将Nacos的conf目录下的cluster.conf.example文件复制为cluster.conf。
修改cluster.conf文件,将其中的IP地址改为自己的服务器IP地址,多个IP地址以逗号分隔。
例如:
192.168.1.101:8848
192.168.1.102:8848
192.168.1.103:8848
将修改后的cluster.conf文件分别复制到其他Nacos服务器的conf目录下。
6. 启动集群:
在其他Nacos服务器上执行步骤4和5,启动Nacos集群。
执行以下命令查看集群状态:
curl -X GET "http://127.0.0.1:8848/nacos/v1/ns/operator/raft/peer?pretty=true"
如果返回的结果中包含多个节点的IP地址,则说明集群搭建成功。
7. 测试:
在Nacos控制台上添加一个配置,例如:
Data ID:test
Group:DEFAULT_GROUP
Content:hello world
然后在其他Nacos服务器上查看该配置是否同步过来。
执行以下命令从其他Nacos服务器获取该配置:
curl -X GET "http://192.168.1.103:8848/nacos/v1/cs/configs?dataId=test&group=DEFAULT_GROUP&tenant=&show=all"
如果返回的结果中包含hello world,则说明配置同步成功。
总结:
通过以上步骤,我们成功搭建了一个Nacos集群。Nacos集群可以提高服务发现、配置管理和服务管理的可靠性和性能,并且可以支持更多的应用场景。
阅读全文