当前位置:首页 > 综合资讯 > 正文
黑狐家游戏

nacos如何部署集群,Nacos集群部署详解,从零开始,轻松在云服务器上搭建高可用Nacos服务

nacos如何部署集群,Nacos集群部署详解,从零开始,轻松在云服务器上搭建高可用Nacos服务

Nacos集群部署详解,零基础轻松搭建高可用Nacos服务。本文详细介绍了在云服务器上部署Nacos集群的步骤,从准备工作到配置集群,帮助读者掌握Nacos集群的搭建方...

Nacos集群部署详解,零基础轻松搭建高可用Nacos服务。本文详细介绍了在云服务器上部署Nacos集群的步骤,从准备工作到配置集群,帮助读者掌握Nacos集群的搭建方法。

随着微服务架构的普及,服务注册与配置中心Nacos在微服务生态中扮演着至关重要的角色,本文将详细介绍如何在云服务器上部署Nacos集群,实现高可用和可扩展的配置管理服务。

Nacos简介

Nacos(Naming and Configuration Service)是阿里巴巴开源的一个服务发现和配置管理平台,它支持动态配置服务、服务注册与发现、分布式协调等功能,Nacos可以轻松实现微服务架构下的服务注册、配置管理、服务发现、服务熔断等高级功能。

Nacos集群部署步骤

1、准备云服务器

在云服务器上创建Nacos集群所需的环境,以下以阿里云ECS为例,介绍如何准备云服务器:

nacos如何部署集群,Nacos集群部署详解,从零开始,轻松在云服务器上搭建高可用Nacos服务

(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命令使环境变量生效。

nacos如何部署集群,Nacos集群部署详解,从零开始,轻松在云服务器上搭建高可用Nacos服务

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集群

nacos如何部署集群,Nacos集群部署详解,从零开始,轻松在云服务器上搭建高可用Nacos服务

(1)分别进入三个Nacos实例的解压目录,启动Nacos服务。

(2)执行以下命令:

sh bin/startup.sh -m standalone

(3)启动成功后,访问Nacos控制台,查看集群状态。

7、验证Nacos集群

(1)在Nacos控制台中创建一个配置文件,并设置内容。

(2)将配置文件添加到某个微服务中,并启动微服务。

(3)在微服务中获取配置文件内容,验证Nacos集群配置成功。

本文详细介绍了如何在云服务器上部署Nacos集群,实现了高可用和可扩展的配置管理服务,通过以上步骤,您可以轻松地将Nacos应用到您的微服务项目中,实现高效的服务注册与配置管理。

黑狐家游戏

发表评论

最新文章