nacos如何部署集群,Nacos集群部署详解,从零开始,轻松在云服务器上搭建高可用Nacos服务
- 综合资讯
- 2024-12-18 10:32:21
- 2

Nacos集群部署详解,零基础轻松搭建高可用Nacos服务。本文详细介绍了在云服务器上部署Nacos集群的步骤,从准备工作到配置集群,帮助读者掌握Nacos集群的搭建方...
Nacos集群部署详解,零基础轻松搭建高可用Nacos服务。本文详细介绍了在云服务器上部署Nacos集群的步骤,从准备工作到配置集群,帮助读者掌握Nacos集群的搭建方法。
随着微服务架构的普及,服务注册与配置中心Nacos在微服务生态中扮演着至关重要的角色,本文将详细介绍如何在云服务器上部署Nacos集群,实现高可用和可扩展的配置管理服务。
Nacos简介
Nacos(Naming and Configuration Service)是阿里巴巴开源的一个服务发现和配置管理平台,它支持动态配置服务、服务注册与发现、分布式协调等功能,Nacos可以轻松实现微服务架构下的服务注册、配置管理、服务发现、服务熔断等高级功能。
Nacos集群部署步骤
1、准备云服务器
在云服务器上创建Nacos集群所需的环境,以下以阿里云ECS为例,介绍如何准备云服务器:
(1)登录阿里云管理控制台,创建ECS实例。
(2)选择合适的镜像,推荐使用基于CentOS 7的镜像。
(3)配置ECS实例的CPU、内存和存储资源,确保Nacos集群运行稳定。
(4)设置ECS实例的安全组规则,允许内网访问。
2、安装Java环境
Nacos基于Java开发,因此需要先在云服务器上安装Java环境。
(1)下载Java安装包:前往Oracle官网下载适合CentOS 7的Java安装包。
(2)解压安装包:使用tar命令解压安装包。
(3)配置环境变量:编辑/etc/profile文件,添加以下内容:
export JAVA_HOME=/usr/local/java export PATH=$JAVA_HOME/bin:$PATH
(4)使环境变量生效:使用source命令使环境变量生效。
3、下载Nacos安装包
前往Nacos官网下载最新版本的Nacos安装包。
4、解压安装包
使用tar命令解压Nacos安装包。
5、配置Nacos集群
(1)进入Nacos解压后的目录,编辑conf/application.properties文件。
(2)修改以下配置项:
集群配置 nacos.cluster.name=exampleCluster nacos.server addr1=192.168.1.101:8848 nacos.server addr2=192.168.1.102:8848 nacos.server addr3=192.168.1.103:8848 数据存储配置 nacos.storage.type=mysql nacos.mysql.database=nacos_config nacos.mysql.user=nacos nacos.mysql.password=nacos nacos.mysql.host=192.168.1.104 nacos.mysql.port=3306
(3)在云服务器上创建Nacos数据库,并执行以下SQL语句创建表:
CREATE TABLEconfig_info
(id
varchar(255) NOT NULL,data_id
varchar(255) NOT NULL,group_id
varchar(255) NOT NULL,content
longtext NOT NULL,md5
varchar(32),gmt_create
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,gmt_modified
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,src_user
varchar(255),src_ip
varchar(50),app_name
varchar(100),tenant_id
varchar(20) DEFAULT '', PRIMARY KEY (id
) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLEconfig_info_aggr
(id
varchar(255) NOT NULL,data_id
varchar(255) NOT NULL,group_id
varchar(255) NOT NULL,content
longtext NOT NULL,md5
varchar(32),gmt_create
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,gmt_modified
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,app_name
varchar(100),tenant_id
varchar(20) DEFAULT '', PRIMARY KEY (id
) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLEconfig_info_beta
(id
varchar(255) NOT NULL,data_id
varchar(255) NOT NULL,group_id
varchar(255) NOT NULL,content
longtext NOT NULL,md5
varchar(32),gmt_create
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,gmt_modified
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,app_name
varchar(100),tenant_id
varchar(20) DEFAULT '', PRIMARY KEY (id
) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLEconfig_info_tag
(id
varchar(255) NOT NULL,data_id
varchar(255) NOT NULL,group_id
varchar(255) NOT NULL,tenant_id
varchar(20) DEFAULT '',tag_id
varchar(255) NOT NULL,app_name
varchar(100),content
longtext NOT NULL,md5
varchar(32),gmt_create
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,gmt_modified
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id
) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLEconfig_info_history
(id
varchar(255) NOT NULL,data_id
varchar(255) NOT NULL,group_id
varchar(255) NOT NULL,content
longtext NOT NULL,md5
varchar(32),gmt_create
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,gmt_modified
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,op_type
varchar(10) NOT NULL,user
varchar(50),app_name
varchar(100),tenant_id
varchar(20) DEFAULT '', PRIMARY KEY (id
) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLEconfig_digest_info
(id
varchar(255) NOT NULL,data_id
varchar(255) NOT NULL,group_id
varchar(255) NOT NULL,tenant_id
varchar(20) DEFAULT '',digest
varchar(255) NOT NULL,gmt_create
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,gmt_modified
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id
) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLEconfig_job_queue
(id
bigint(20) NOT NULL AUTO_INCREMENT,data_id
varchar(255) NOT NULL,group_id
varchar(255) NOT NULL,tenant_id
varchar(20) DEFAULT '',content
longtext NOT NULL,md5
varchar(32),gmt_create
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,gmt_modified
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,app_name
varchar(100),op_type
varchar(10) NOT NULL,user
varchar(50), PRIMARY KEY (id
) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLEconfig_snapshot
(id
varchar(255) NOT NULL,data_id
varchar(255) NOT NULL,group_id
varchar(255) NOT NULL,tenant_id
varchar(20) DEFAULT '',content
longtext NOT NULL,md5
varchar(32),gmt_create
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,gmt_modified
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id
) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLEconfig_beta_snapshot
(id
varchar(255) NOT NULL,data_id
varchar(255) NOT NULL,group_id
varchar(255) NOT NULL,tenant_id
varchar(20) DEFAULT '',content
longtext NOT NULL,md5
varchar(32),gmt_create
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,gmt_modified
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id
) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLEtenant_info
(id
varchar(255) NOT NULL,tenant_id
varchar(255) NOT NULL,tenant_name
varchar(255),tenant_desc
varchar(255),create_time
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,update_time
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,enabled
int(1) NOT NULL,resource_type
int(1) NOT NULL,config_type
int(1) NOT NULL,tenant_use_default_config
int(1) NOT NULL, PRIMARY KEY (id
) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLEusers
(username
varchar(50) NOT NULL,password
varchar(50) NOT NULL,enable
int(1) NOT NULL, PRIMARY KEY (username
) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLEroles
(username
varchar(50) NOT NULL,role
varchar(50) NOT NULL, PRIMARY KEY (username
) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLEpermissions
(role
varchar(50) NOT NULL,resource
varchar(255) NOT NULL,action
varchar(8) NOT NULL, PRIMARY KEY (role
,resource
,action
) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLEresources
(id
varchar(50) NOT NULL,resource
varchar(255) NOT NULL,resource_type
varchar(255) NOT NULL,url
varchar(255) NOT NULL,description
varchar(255) NOT NULL, PRIMARY KEY (id
) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLEroles_resources
(id
varchar(50) NOT NULL,role
varchar(50) NOT NULL,resource
varchar(255) NOT NULL, PRIMARY KEY (id
) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
(4)将Nacos配置文件中的数据库连接信息替换为实际数据库连接信息。
6、启动Nacos集群
(1)分别进入三个Nacos实例的解压目录,启动Nacos服务。
(2)执行以下命令:
sh bin/startup.sh -m standalone
(3)启动成功后,访问Nacos控制台,查看集群状态。
7、验证Nacos集群
(1)在Nacos控制台中创建一个配置文件,并设置内容。
(2)将配置文件添加到某个微服务中,并启动微服务。
(3)在微服务中获取配置文件内容,验证Nacos集群配置成功。
本文详细介绍了如何在云服务器上部署Nacos集群,实现了高可用和可扩展的配置管理服务,通过以上步骤,您可以轻松地将Nacos应用到您的微服务项目中,实现高效的服务注册与配置管理。
本文链接:https://www.zhitaoyun.cn/1640431.html
发表评论