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数据库
mysql> CREATE DATABASE `nacos_config`; mysql> USE `nacos_config`; mysql> source nacos-mysql.sql;
2.3.2 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.conf
和conf/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
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
*************** 当你发现自己的才华撑不起野心时,就请安静下来学习吧!***************
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律