• 解决nacos集群搭建,服务注册失败


    项目场景

    nacos集群搭建,微服务注册nacos

    问题描述

    微服务注册nacos集群,注册不上报错,以下是错误日志. 而单机启动nacos ,这可以注册的上去,由此可以判定是集群模式下会出现此问题

    image-20220903155402479

    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}]};
    ................
    ................
    
    • 1
    • 2
    • 3
    • 4
    • 5

    原因分析

    应该是nacos 注册时,需要找网卡的 ip地址,但是有多个. 而注册时轮询找的第一个网卡的ip地址

    如下图,我的第一个网卡的ip地址 是 192.168.198.1和服务日志打印的 ip地址如出一辙.

    image-20220903153051615

    image-20220903153327364

    image-20220903154542542

    而我正常的地址应该是以太网的ipv4地址 192.168.31.86

    这一点在我检查nacos的集群配置文件也得到了验证,我的集群中只配置了

    192.168.31.86:8845
    192.168.31.86:8846
    192.168.31.86:8847
    
    • 1
    • 2
    • 3

    启动nacos后, 却会多出来一个配置192.168.198.1:8848,这是电脑里的虚拟机网卡自动生成的.

    image-20220903154145588


    解决方案

    1. 先禁用 虚拟机的网卡

    在 控制面板\网络和 Internet\网络连接 中,点击右键禁用

    image-20220903153534408

    1. 修改每个nacos/conf 的cluster.conf,将多出来的配置删除掉
    2. 删除每个nacos 下的 data 文件夹

    image-20220903154733976

    1. 重启nacos集群和微服务, 即可解决问题
  • 相关阅读:
    如何将java项目部署到github?如何将github的java项目部署到本地(通过idea)?
    Linux中的磁盘
    使用phpMyAdmin管理WordPress数据库入门指南
    打包python模块代码到pypi
    5、Kafka集成 SpringBoot
    How to design a database storage model for water network information system
    7.数组(一维数组、二维数组、C99中的变长数组、二分查找法)
    【无标题】
    mysql学习笔记1:忘记密码
    上网管理系统--帮助企业管理和分析员工上网行为
  • 原文地址:https://blog.csdn.net/weixin_44197039/article/details/126678568