起源
一直觉得集群是一件十分神秘的事物,只敢远观,不敢触碰。今回起了兴致,我就偏偏要戳他一戳。一戳,您猜怎么着?如丝般顺滑。
版本说明
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 &
参考
FEATURED TAGS
数组
javascript
html
sqlite
抓取
爬虫
python
宕机
通关
游戏
ruoyi
若依
高项
论文
软考
工具
Tools
Windows
禅道
Nacos
iconfont
icon
transition
大数据
Kafka
Flume
CA
Whistle
抓包
idea
Gateway
梯子
代理
Clash
Halo
lanproxy
测试
Solo
保护费
Retropie
复古派
RaspberryPi
树莓派
KeePass
Password
密码
https
GBK
Sublime Text
CSS
微信商户
渠道
Android
redis
JMeter
CentOS
跨域
服务中心
注册中心
Consul
消息队列
RabbitMQ
SpringCloud
ssh
公钥
Mac
表情
乱码
ssl
sqlserver
jdbc
java8
阿里云
aliyun
tomcat
二维码
公众号
微信
主从
mysql
廖师兄
SpringBoot
微服务
Docker
解密
加密
CryptoJS
js
assembly
maven
blade
宝可梦
漂移
JoyCon
WiiU
npm
vue
node
定时
crontab
Linux
Switch
Nintendo Switch
archive
git
任天堂
3DS
动森
PB汉化组
汉化
动物之森
手柄
八位堂
对比
PS3
NS
nginx
blog
java