Nacos 集群配置与应用
537
2021-12-31
起源
一直觉得集群是一件十分神秘的事物,只敢远观,不敢触碰。今回起了兴致,我就偏偏要戳他一戳。一戳,您猜怎么着?如丝般顺滑。
版本说明
Nacos:2.0.3 Release
Spring Boot:2.5.6
Spring Cloud:2020.0.4
Spring Cloud Alibaba:2021.1
Nacos 配置和启动
配置
配置过程并不复杂,Nacos官方原带有cluster.conf.example
集群配置样例。只需要把它复制一份,命名为cluster.conf
;编辑其中的 IP:PORT 使地址端口能与实际环境相符即可。
如:
192.168.1.20:8848
192.168.1.21:8848
再者,集群配置需要使用数据作为存储配置,开启 MySQL 配置,编辑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://192.168.1.20:3306/nacos-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=123456
别忘了把各个服务器中的 Nacos 都修改一遍。
启动
直接运行 Nacos 的 bin
目录中的启动命令
不要添加-m cluster
参数。
startup.cmd # Window
./startup.sh # Linux
Spring Boot 配置
上面配置启动好 Nacos 服务后,接下来在 Spring Boot 应用中 配置 bootstrap.yml
文件。
在原先的基础上再添加 IP:PORT 就可以了(使用“,”分割)
# Spring
spring:
... ...
cloud:
nacos:
discovery:
# 服务注册地址
server-addr: 192.168.1.20:8848,192.168.1.21:8848
config:
# 配置中心地址
server-addr: 192.168.1.20:8848,192.168.1.21:8848
看疗效
启动 Spring Boot 服务后,打开任意一个 Nacos 服务地址(如http://192.168.1.20:8848/nacos
)
可以看到服务已经在服务列表
中已经可以看到服务注册进来了。
Linux 启动 Nacos 遇到的问题
在 Linux 中启动 Nacos 2.0.3 时启动失败,日志中显示如下:
错误: 找不到或无法加载主类
原因: java.lang.ClassNotFoundException:
根据参考解决办法有2, 一是使用Java8版本,二是修改 Nacos 启动脚本;修改脚本方便如下,主要是取消JAVA_OPT_EXT_FIX
的配置。
# JAVA_OPT_EXT_FIX="-Djava.ext.dirs=${JAVA_HOME}/jre/lib/ext:${JAVA_HOME}/lib/ext"
JAVA_OPT="${JAVA_OPT} -Djava.ext.dirs=${JAVA_HOME}/jre/lib/ext:${JAVA_HOME}/lib/ext"
# echo "$JAVA $JAVA_OPT_EXT_FIX ${JAVA_OPT}"
echo "$JAVA ${JAVA_OPT}"
# echo "$JAVA $JAVA_OPT_EXT_FIX ${JAVA_OPT}" > ${BASE_DIR}/logs/start.out 2>&1 &
# nohup "$JAVA" "$JAVA_OPT_EXT_FIX" ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &
echo "$JAVA ${JAVA_OPT}" > ${BASE_DIR}/logs/start.out 2>&1 &
nohup "$JAVA" ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &
参考
- 0
- 0
-
分享