
解决nacos集群搭建,服务注册失败
nacos集群搭建,微服务注册nacos。
·
项目场景
nacos集群搭建,微服务注册nacos
问题描述
微服务注册nacos集群,注册不上报错,以下是错误日志. 而单机启动nacos ,这可以注册的上去,由此可以判定是集群模式下会出现此问题
09-03 15:28:48:652 ERROR 10892 --- [ main] c.a.c.n.registry.NacosServiceRegistry : nacos registry, orderservice register failed...NacosRegistration{nacosDiscoveryProperties=NacosDiscoveryProperties{serverAddr='192.168.31.86:8845', endpoint='', namespace='a7e3910a-71e5-4204-ae1c-8d97fef4819b', watchDelay=30000, logName='', service='orderservice', weight=1.0, clusterName='HZ', group='DEFAULT_GROUP', namingLoadCacheAtStart='false', metadata={preserved.register.source=SPRING_CLOUD}, registerEnabled=true, ip='192.168.198.1', networkInterface='', port=8080, secure=false, accessKey='', secretKey='', heartBeatInterval=null, heartBeatTimeout=null, ipDeleteTimeout=null, failFast=true}},
com.alibaba.nacos.api.exception.NacosException: failed to req API:/nacos/v1/ns/instance after all servers([192.168.31.86:8845]) tried: ErrCode:500, ErrMsg:caused: Raft put failed, key:com.alibaba.nacos.naming.iplist.a7e3910a-71e5-4204-ae1c-8d97fef4819b##DEFAULT_GROUP@@orderservice, value:{"instanceList":[{"instanceId":"192.168.198.1#8080#HZ#DEFAULT_GROUP@@orderservice","ip":"192.168.198.1","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":false,"clusterName":"HZ","serviceName":"DEFAULT_GROUP@@orderservice","metadata":{"preserved.register.source":"SPRING_CLOUD"},"lastBeat":1662190128649,"marked":false,"app":"unknown","instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000,"ipDeleteTimeout":30000}]};
................
................
原因分析
应该是nacos 注册时,需要找网卡的 ip地址,但是有多个. 而注册时轮询找的第一个网卡的ip地址
如下图,我的第一个网卡的ip地址 是 192.168.198.1和服务日志打印的 ip地址如出一辙.
而我正常的地址应该是以太网的ipv4地址 192.168.31.86
这一点在我检查nacos的集群配置文件也得到了验证,我的集群中只配置了
192.168.31.86:8845
192.168.31.86:8846
192.168.31.86:8847
启动nacos后, 却会多出来一个配置192.168.198.1:8848,这是电脑里的虚拟机网卡自动生成的.
解决方案
- 先禁用 虚拟机的网卡
在 控制面板\网络和 Internet\网络连接 中,点击右键禁用
- 修改每个nacos/conf 的cluster.conf,将多出来的配置删除掉
- 删除每个nacos 下的 data 文件夹
- 重启nacos集群和微服务, 即可解决问题
更多推荐
所有评论(0)