nacos配置中心集群搭建:
一、环境
jdk版本:1.8.0_181
nacos: 1.3.1 * nacos需使用最新版本才能兼容8.*版本的mysql
mysql: 8.0.19
三台机器(三个以上节点才能搭建集群)
10.221.164.151:9000 10.221.164.152:9000 10.221.164.153:9000
二、部署集群
-
设置mysql数据源
分别在三台服务器上安装nacos,修改各机器上nacos/conf下的application.properties
#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://10.221.164.118:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=123456
-
创建集群配置文件
复制三台机器的nacos/conf/下cluster.conf.example文件为cluster.conf
cd /usr/local/nacos/conf
cp cluster.conf.example cluster.conf
修改 cluster.conf 文件保存部署的 nacos 实例地址
#2021-06-09T16:02:56.600
10.221.164.151:9000
10.221.164.152:9000
10.221.164.153:9000
三、启动nacos
进入nacos安装目录下的bin文件夹
运行命令 sh startup.sh
启动日志:
/home/scpfile/jdk1.8.0_281/bin/java -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/nacos/nacos/logs/java_heapdump.hprof -XX:-UseLargePages -Dnacos.member.list= -Djava.ext.dirs=/home/scpfile/jdk1.8.0_281/jre/lib/ext:/home/scpfile/jdk1.8.0_281/lib/ext -Xloggc:/opt/nacos/nacos/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dloader.path=/opt/nacos/nacos/plugins/health,/opt/nacos/nacos/plugins/cmdb -Dnacos.home=/opt/nacos/nacos -jar /opt/nacos/nacos/target/nacos-server.jar --spring.config.location=classpath:/,classpath:/config/,file:./,file:./config/,file:/opt/nacos/nacos/conf/ --logging.config=/opt/nacos/nacos/conf/nacos-logback.xml --server.max-http-header-size=524288
,--.
,--.'|
,--,: : | Nacos 1.3.1
,`--.'`| ' : ,---. Running in cluster mode, All function modules
| : : | | ' ,'\ .--.--. Port: 9000
: | \ | : ,--.--. ,---. / / | / / ' Pid: 15099
| : ' '; | / \ / \. ; ,. :| : /`./ Console: http://10.221.164.151:9000/nacos/index.html
' ' ;. ;.--. .-. | / / '' | |: :| : ;_
| | | \ | \__\/: . .. ' / ' | .; : \ \ `. https://nacos.io
' : | ; .' ," .--.; |' ; :__| : | `----. \
| | '`--' / / ,. |' | '.'|\ \ / / /`--' /
' : | ; : .' \ : : `----' '--'. /
; |.' | , .-./\ \ / `--'---'
'---' `--`---' `----'
2021-06-09 15:14:12,911 INFO The server IP list of Nacos is [10.221.164.151:9000, 10.221.164.152:9000, 10.221.164.153:9000]
2021-06-09 15:14:31,449 INFO Nacos Log files: /opt/nacos/nacos/logs
2021-06-09 15:14:31,452 INFO Nacos Log files: /opt/nacos/nacos/conf
2021-06-09 15:14:31,452 INFO Nacos Log files: /opt/nacos/nacos/data
2021-06-09 15:14:31,453 INFO Nacos started successfully in cluster mode. use external storage
Running in cluster mode 集群模式运行
四、验证集群模式节点
进入nacos管理页面,在集群管理的节点列表中可看到三个节点ip
五、相关问题排查:
1.当修改某个节点配置文件内容,有时候加载不到的问题
- 查看nacos配置文件中yaml文件格式是否正确,以及关联文件
spring:
profiles:
active: dev
application:
# 服务名及私有配置名称
name: vas.other
cloud:
config:
# 关闭默认配置中心?待验证
enabled: false
nacos:
# 服务注册
discovery:
# 命名空间:服务注册、发现环境隔离
namespace: ${spring.profiles.active}-environment
server-addr: 10.221.164.151:9000,10.221.164.152:9000,10.221.164.153:9000
# 配置中心
config:
# 命名空间:配置隔离
namespace: ${spring.profiles.active}-environment
server-addr: 10.221.164.151:9000,10.221.164.152:9000,10.221.164.153:9000
file-extension: yaml
ext-config[0]: #引用多个配置文件
data-id: redis-${spring.profiles.active}.yaml
refresh: true
ext-config[1]:
data-id: datasource-${spring.profiles.active}.yaml
refresh: true
- 可先查看节点是否都正常,再查看修改后数据库中是否进行信息同步