Nacos 高可用集群部署

一、准备数据库

数据库用了 mysql, 其实nacos 也是支持mysql 主从集群的,不过简单起见, 这里就只用了一个 mysql 节点。 mysql 是需要自己事先安装 配置的(需要执行 nacos 提供的 conf/nacos-mysql.sql 脚本)

这个其实很简单。schema 名字不重要,重要的是 执行 nacos 的sql 脚本就好了。

二、安装Nacos

Nacos包下载地址:https://github.com/alibaba/nacos/releases

2.1 获取Nacos安装包

可以通过两种方式来获取 Nacos:

  • 从 Github 上下载源码方式
$ unzip nacos-source.zip
$ cd nacos/
$ mvn -Prelease-nacos clean install -U
$ cd nacos/distribution/target/nacos-server-1.2.1/nacos/bin
  • 下载编译后压缩包方式
$ unzip nacos-server-1.2.1.tar.gz 或者 tar -xvf nacos-server-1.2.1.tar.gz
$ cd nacos/bin

我们使用第二种方式安装,把下载好的nacos-server-1.2.1.tar.gz放置于/usr/local目录下,并解压缩。

2.2 配置集群配置文件

在nacos的解压目录nacos/的conf目录下,有配置文件cluster.conf,请每行配置成ip:port。(请配置3个或3个以上节点)

$ cp conf/cluster.conf.example conf/cluster.conf

将各个节点的IP配置于conf/cluster.conf配置文件中:

10.4.7.101:8848
10.4.7.102:8848
10.4.7.103:8848

2.3 配置MySQL数据库

注意:生产使用建议至少主备模式,或者采用高可用数据库。

2.3.1 初始化MySQL数据库

sql语句源文件

mysql> CREATE DATABASE `nacos_config`;
mysql> USE `nacos_config`;
mysql> source nacos-mysql.sql;
2.3.2 application.properties 配置

application.properties配置文件

#*************** Config Module Related Configurations ***************#
# 配置数据库连接地址
### If user MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://10.4.7.101:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=test
#*************** CMDB Module Related Configurations ***************#
### The interval to dump external CMDB in seconds:
nacos.cmdb.dumpTaskInterval=3600
### The interval of polling data change event in seconds:
nacos.cmdb.eventTaskInterval=10
### The interval of loading labels in seconds:
nacos.cmdb.labelTaskInterval=300
### If turn on data loading task:
nacos.cmdb.loadDataAtStart=false
# 激活权限认证
nacos.core.auth.enabled=true
#*************** Metrics Related Configurations ***************#
### Metrics for prometheus
# 激活Prometheus监控采集Exporter
management.endpoints.web.exposure.include=*
### Metrics for elastic search
#management.metrics.export.elastic.enabled=true
#management.metrics.export.elastic.host=http://localhost:9200

注意:三节点conf/cluster.confconf/application.properties配置一样即可!

2.3.3 启动服务
$ sh nacos/bin/startup.sh

查看端口是否启动:

$ netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 958/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1192/master
tcp6 0 0 :::22 :::* LISTEN 958/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1192/master
tcp6 0 0 :::3306 :::* LISTEN 12155/mysqld
tcp6 0 0 :::8848 :::* LISTEN 12550/java

如果8848端口以启动,则可通过Web界面访问8848端口,访问方式:http://10.4.7.101:8848/nacos

nacos登录页面
默认账号:nacos
默认密码:nacos
nacos页面

2.4 配置Nacos为系统服务

$ vim /usr/lib/systemd/system/nacos.service
[Unit]
Description=nacos-server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/nacos/bin/startup.sh
ExecStop=/usr/local/nacos/bin/shutdown.sh
Restart=always PrivateTmp=true
[Install]
WantedBy=multi-user.target
$ systemctl start nacos.service
$ systemctl status nacos.service
$ systemctl enable nacos.service
posted @   吕振江  阅读(643)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
浏览器标题切换
浏览器标题切换end
点击右上角即可分享
微信分享提示

目录导航