Nacos集群部署

一、Nacos简介

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

Nacos官网 点我前往

二、Nacos集群安装部署

2.1.Nacos环境依赖

Nacos运行依赖JDK1.8+

JDK官网 点我前往

2.2.Nacos安装包下载

这边使用Nacos1.2.1版本进行安装部署

下载地址 点我前往

三、测试部署

环境信息

systemIPHostnameServerVersion
Centos7192.168.60.130nacos-1Nacos1.2.1
Centos7192.168.60.131nacos-2Nacos1.2.1
Centos7192.168.60.132nacos-3Nacos1.2.1
Centos7192.168.60.133ng-sqlNginx、Mysqlng:1.24.0 sql:5.7

3.1安装部署

nacos的包上传至所有服务器

3.1.1数据库端操作

#解压安装包
[root@ng-sql ~]# tar zxvf nacos-server-1.2.1.tar.gz -C /usr/local
#进入Nacos配置文件目录
[root@ng-sql ~]# cd /usr/local/nacos/conf/
#导入数据库
[root@ng-sql conf]# mysql -uroot -p'P@ssword1' -D nacos < nacos-mysql.sql

mysql> SHOW TABLES;
+----------------------+
| Tables_in_nacos      |
+----------------------+
| config_info          |
| config_info_aggr     |
| config_info_beta     |
| config_info_tag      |
| config_tags_relation |
| group_capacity       |
| his_config_info      |
| permissions          |
| roles                |
| tenant_capacity      |
| tenant_info          |
| users                |
+----------------------+
12 rows in set (0.00 sec)

修改Nacos配置文件,指向MYSQL实例

### If user MySQL as datasource:
# spring.datasource.platform=mysql		//取消注释

### Count of DB:
# db.num=1		//取消注释、涉及数据库多实例,修改对应数量

### Connect URL of DB:
# db.url.0=jdbc:mysql://1.1.1.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true //修改数据库地址
# db.user=user		//数据库用户
# db.password=password	//密码

3.1.2 Nacos服务端操作

三台机器

#下载JDK
[root@nacos-3 ~]# wget https://cloud.muou666.com/d/Onedrive/O%26M/JDK/jdk-8u211-linux-x64.tar.gz
#解压JDK压缩包
[root@nacos-1 ~]# tar zxvf jdk-8u211-linux-x64.tar.gz -C /usr/local/
#移动至/usr/local目录下,改名
[root@nacos-1 ~]# cd /usr/local/
[root@nacos-1 local]# mv jdk1.8.0_211/ java
#编译环境变量
[root@nacos-1 ~]# vim /etc/profile
    JAVA_HOME=/usr/local/java
    PATH=$JAVA_HOME/bin:$PATH
    export JAVA_HOME PATH
[root@nacos-1 ~]# source /etc/profile
#查看java版本
[root@nacos-1 ~]# java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

设置好JDK环境后,安装Nacos

#将下载好的Nacos包解压
[root@nacos-1 ~]# tar zxvf nacos-server-1.2.1.tar.gz -C /usr/local/
#进入配置文件目录
[root@nacos-1 ~]# cd /usr/local/nacos/conf/
#编辑配置文件
[root@nacos-1 conf]# vim application.properties
    ### If user MySQL as datasource:
    # spring.datasource.platform=mysql		//取消注释

    ### Count of DB:
    # db.num=1		//取消注释、涉及数据库多实例,修改对应数量

    ### Connect URL of DB:
    # db.url.0=jdbc:mysql://1.1.1.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true //修改数据库地址
    # db.user=user		//数据库用户
    # db.password=password	//密码
### If user MySQL as datasource:
spring.datasource.platform=mysql

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

### Connect URL of DB:
db.url.0=jdbc:mysql://192.168.60.133:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=P@ssword1
#编辑集群配置文件
[root@nacos-1 conf]# cp cluster.conf.example cluster.conf
[root@nacos-1 conf]# vim cluster.conf
    #it is ip
    #example
    #将集群的IP填入其中
    192.168.60.130		
    192.168.60.131
    192.168.60.132
#启动服务
[root@nacos-1 conf]# cd ..
[root@nacos-1 nacos]# ls
bin  conf  LICENSE  NOTICE  target
[root@nacos-1 nacos]# cd bin/
[root@nacos-1 bin]# ls
shutdown.cmd  shutdown.sh  startup.cmd  startup.sh
[root@nacos-1 bin]# bash startup.sh
#查看启动日志
[root@nacos-1 bin]# tail -f /usr/local/nacos/logs/start.out

登录浏览器访问http://192.168.60.130:8848/nacos

登录浏览器访问http://192.168.60.131:8848/nacos

登录浏览器访问http://192.168.60.132:8848/nacos

之后再测试用nginx反代即可

四、注意事项

==================================================
首先需要确保数据库正常运行,以及对应服务IP有访问数据库的权限
==================================================
其次确保配置文件内没有错误
有错误及时查看服务日志