最近工作接手一个调整项目框架的活,我被分配到搭建nacos注册中心的工作;nacos注册中心是alibaba旗下的一个开源组件,它提供了SpringCloud alibaba 微服务架构的注册中心以及配置中心功能,并且提供了比较直观的可视化界面;本篇文章就来介绍如何搭建nacos集群
1. 环境准备
Linux系统:CentOS7-2009
三台主机:
192.168.64.70
192.168.64.71
192.168.64.72
nacos:nacos-2.0.2
MySQL:MySQL8.0.15;
地址:192.168.64.71:3306
nacos下载地址:https://github.com/alibaba/nacos/tags
下载好后上传至Linux服务器,这里以 /usr/local/ 路径为例
2. nacos集群搭建
上传好nacos安装包执行以下操作
# 进入nacos上传目录
cd /usr/local/
# 解压安装包
tar -zxvf nacos-server-2.0.2.tar.gz
# 解压好后进入nacos配置目录
cd nacos/conf/
# 复制一份cluster.conf.example并命名为cluster.conf
mv cluster.conf.example cluster.conf
nacos集群模式的工作是将一切注册或配置信息以及存储在数据库中,各个nacos的节点也是从数据库中获取各个用户注册以及配置信息;因此我们需要另外准备好数据库服务器,这里以mysql为例;
在nacos安装目录conf文件夹下有一个 nacos-mysql.sql 脚本文件,此脚本是nacos存储数据库表结构脚本,我们需要把它导入到准备好的mysql服务器
mysql服务器准备好后修改conf目录中的 cluster.conf 和 application.properties 配置
每台服务器都要改并保持一致
# 编辑
vim cluster.conf
# 添加以下配置
192.168.64.70:8848 #这几个地址为安装nacos的所有服务器地址以及设置的端口号
192.168.64.71:8848
192.168.64.72:8848
# 编辑
vim application.properties
# 修改以下几处配置
# 配置nacos访问uri(一般按默认就行了)
server.servlet.contextPath=/nacos
# 配置nacos访问端口(一般按默认8848就可以了)
server.port=8848
# 指定数据库类型(这里指定数据库为mysql)
spring.datasource.platform=mysql
# 数据库实例数量
db.num=1
# 数据库访问地址(即准备好的数据库服务器地址)
db.url.0=jdbc:mysql://192.168.64.71:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
# 数据库访问用户名
db.user.0=root
# 数据库访问密码
db.password.0=xiang@2021
此时nacos就安装完成,每台机器都按照以下命令启动
# 进入
cd /usr/local/nacos/bin/
# 启动nacos
sh startup.sh
启动nacos通用命令如下:
- sh startup.sh -m 模式: 模式有两个选项 standalone / cluster 分别代表单机和集群模式启动;单机模式不需要依赖数据库单独使用,集群模式需要依赖数据库,默认为集群模式
启动成功后通过 ip:端口号/nacos 访问nacos(注意先关闭物理机与虚拟机的防火墙),出现以下界面表示启动成功
3. nacos设置开机自启
nacos安装好后需要手动开启关闭,可以设置开机自启,执行以下命令
# 编辑开机自启脚本
vim /lib/systemd/system/nacos.service
# 添加以下内容
[Unit]
Description=nacos
After=network.target
[Service]
Type=forking
Environment="JAVA_HOME=/usr/local/jdk1.8"
# 启动后面可以加上 -m standalone/cluster 表示以单机/集群方式启动,默认为集群
ExecStart=/usr/local/nacos/bin/startup.sh
ExecReload=/usr/local/nacos/bin/shutdown.sh
ExecStop=/usr/local/nacos/bin/shutdown.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target
配置完成后启动服务,执行以下命令
#重新加载服务
systemctl daemon-reload
#启用服务
systemctl enable nacos.service
#启动服务
systemctl start nacos.service