14.15. NACOS

14.15.1. 集群配置

参考地址:https://nacos.io/docs/v2/guide/admin/cluster-mode-quick-start/

https://nacos.io/img/deployDnsVipMode.jpg
端口与主端口的偏移量描述
88480主端口,客户端、控制台及OpenAPI所使用的HTTP端口
98481000客户端gRPC请求服务端端口,用于客户端向服务端发起连接和请求
98491001服务端gRPC请求服务端端口,用于服务间同步等
7848-1000Jraft请求服务端端口,用于处理服务端间的Raft相关请求

备注

使用VIP/nginx请求时,需要配置成TCP转发,不能配置http2转发,否则连接会被nginx断开。 9849和7848端口为服务端之间的通信端口,请勿暴露到外部网络环境和客户端测。

14.15.2. 准备3个主机节点

# nacos-1
10.196.126.15
# nacos-2
10.196.126.16
# nacos-3
10.196.126.17

这里简单的采用ubuntu22.04

安装java:

apt update
# 这些是依赖
apt install curl unzip zip
sdk install java 17.0.11-albba
source "/root/.sdkman/bin/sdkman-init.sh"
sdk use java 17.0.11-albba

14.15.3. 准备MySQL数据库

CREATE DATABASE nacos;

导入脚本:https://github.com/alibaba/nacos/blob/master/distribution/conf/mysql-schema.sql

mysql中创建nacos账号,并授权账号访问nacos数据库。

CREATE user 'nacos'@'%' identified with mysql_native_password by 'nacos';
grant all on nacos.* to 'nacos'@'%';

14.15.4. 解压缩nacos-x.y.z.tar.gz

cd /root
tar zxvf nacos-x.y.z.tar.gz
cd /root/nacos

14.15.5. 修改conf/cluster.conf

三个节点的cluster.conf文件都要加上下面集群节点的配置。

10.196.126.15:8848
10.196.126.16:8848
10.196.126.17:8848

14.15.6. 修改conf/application.properties

三个节点的application.properties都要修改。

spring.sql.init.platform=mysql
db.num=1
db.url.0=jdbc:mysql://10.196.126.10:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=nacos
db.password.0=nacos

# 安全相关
nacos.core.auth.enabled=true
nacos.core.auth.enable.userAgentAuthWhite=false
nacos.core.auth.server.identity.key=hello
nacos.core.auth.server.identity.value=world
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789

14.15.7. 启动集群节点

三个节点依次启动

bin/startup.sh

tail -f logs/start.out
2024-07-12 05:05:27,063 INFO Nacos started successfully in cluster mode. use external storage

14.15.8. 配置SLB

待补充