当前位置: 代码网 > it编程>编程语言>Java > 关于nacos无法正常下线问题记录

关于nacos无法正常下线问题记录

2024年07月29日 Java 我要评论
问题描述公司搭建了nacos集群,但是在微服务下线时会无法正常下线,点击下线提示caused: errcode: 500, errmsg: do metadata operation failed ;

问题描述

公司搭建了nacos集群,但是在微服务下线时会无法正常下线,点击下线提示

caused: errcode: 500, errmsg: do metadata operation failed ;caused: com.alibaba.nacos.consistency.exception.consistencyexception: com.alibaba.nacos.core.distributed.raft.exception.noleaderexception: the raft group [naming_instance_metadata] did not find the leader node;caused: com.alibaba.nacos.core.distributed.raft.exception.noleaderexception: the raft group [naming_instance_metadata] did not find the leader node;
error fail to refresh route configuration for group : naming_instance_metadata, status is : status[unknown<-1>: fail to get leader of group naming_instance_metadata]
error fail to refresh route configuration for group : naming_service_metadata, status is : status[unknown<-1>: fail to get leader of group naming_service_metadata]

解决方案

单机情况下直接删除data/protocol文件夹重启就可以解决,但是我们使用的是集群部署的模式,尝试删除此文件夹重启后问题依旧存在。

经过对比发现集群节点的元数据是不正常的

{
    "lastrefreshtime": 1648556157101,
    "raftmetadata": {
        "metadatamap": {
            "naming_persistent_service": {
                "leader": "192.168.96.77:7848",
                "raftgroupmember": [
                    "192.168.96.77:7848",
                    "192.168.96.79:7848",
                    "192.168.96.82:7848"
                ],
                "term": 5
            }
        }
    },
    "raftport": "7848",
    "version": "2.0.3"
}

下面才是正常的元数据

{
    "lastrefreshtime": 1648604205057,
    "raftmetadata": {
        "metadatamap": {
            "naming_instance_metadata": {
                "leader": "192.168.3.156:7852",
                "raftgroupmember": [
                    "192.168.3.156:7852",
                    "192.168.3.156:7848",
                    "192.168.3.156:7850"
                ],
                "term": 29
            },
            "naming_persistent_service": {},
            "naming_persistent_service_v2": {
                "leader": "192.168.3.156:7852",
                "raftgroupmember": [
                    "192.168.3.156:7852",
                    "192.168.3.156:7848",
                    "192.168.3.156:7850"
                ],
                "term": 29
            },
            "naming_service_metadata": {
                "leader": "192.168.3.156:7852",
                "raftgroupmember": [
                    "192.168.3.156:7852",
                    "192.168.3.156:7848",
                    "192.168.3.156:7850"
                ],
                "term": 29
            }
        }
    },
    "raftport": "7848",
    "readytoupgrade": true,
    "version": "2.0.4"
}

虽然本地的版本和线上的版本不一致,但是可以看出来正常的nacos集群选举出来的元数据有naming_persistent_service、naming_service_metadata、naming_instance_metadata这三个字段同时出现的。

所以大概可以猜到是我们线上的nacos选举出现了问题。

检查了线上的各个端口后并没有发现端口不通的问题,经过查找资料,我认为应该是多个网卡导致的nacos识别网卡不正确导致的问题。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com