Nacos下线服务时,下线报错选举Leader失败问题以及解决

 更新时间:2024年07月27日 15:22:34   作者:kming.qiu  
这篇文章主要介绍了Nacos下线服务时,下线报错选举Leader失败问题以及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Nacos下线服务时,下线报错选举Leader失败

问题描述

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;

解决方案

Nacos 采用 raft 算法来计算 Leader,并且会记录前一次启动的集群地址,所以当我们自己的服务器 IP 改变时(这里特指自己学习时,在本地启动的同学,因为有时候我们的网络环境会变的 …

WIFI,所以 IP 地址也经常变化),会导致 raft 记录的集群地址失效,导致选 Leader 出现问题,只要删除 Nacos 根目录下 data 文件夹下的 protocol 文件夹即可。

Nacos控制台下线服务报错

现象

在 Nacos控制台服务列表,点击下线按钮,Nacos控制台报错,

提示错误信息:

[naming_instance_metadata] did not find the Leader node

原因

  • Nacos 1.x版本默认以单机方式启动;
  • Nacos 2.x版本默认以集群方式启动;
  • Nacos 2.x版本第一次启动的时候是按照集群初始的配置,导致后面修改为单机版本启动之后,注册上的服务点击下线会出现该问题

解决方案

删除 Nacos的 data/protocol目录下的文件即可

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • jsp+dao+bean+servlet(MVC模式)实现简单用户登录和注册页面

    jsp+dao+bean+servlet(MVC模式)实现简单用户登录和注册页面

    这篇文章主要介绍了jsp+dao+bean+servlet(MVC模式)实现简单用户登录和注册页面,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 剑指Offer之Java算法习题精讲二叉树与斐波那契函数

    剑指Offer之Java算法习题精讲二叉树与斐波那契函数

    跟着思路走,之后从简单题入手,反复去看,做过之后可能会忘记,之后再做一次,记不住就反复做,反复寻求思路和规律,慢慢积累就会发现质的变化
    2022-03-03
  • Java由浅入深细数数组的操作下

    Java由浅入深细数数组的操作下

    数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。Java 语言中提供的数组是用来存储固定大小的同类型元素
    2022-04-04
  • Java使用锁解决银行取钱问题实例分析

    Java使用锁解决银行取钱问题实例分析

    这篇文章主要介绍了Java使用锁解决银行取钱问题,结合实例形式分析了java线程同步与锁机制相关原理及操作注意事项,需要的朋友可以参考下
    2019-08-08
  • idea2017建立jsp工程及tomcat配置教程

    idea2017建立jsp工程及tomcat配置教程

    本文通过图文并茂的形式给大家介绍了idea2017建立jsp工程及tomcat等配置的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-02-02
  • Java.lang.Long.parseLong()方法详解及示例

    Java.lang.Long.parseLong()方法详解及示例

    这个java.lang.Long.parseLong(String s) 方法解析字符串参数s作为有符号十进制长,下面这篇文章主要给大家介绍了关于Java.lang.Long.parseLong()方法详解及示例的相关资料,需要的朋友可以参考下
    2023-01-01
  • Spring配置文件解析之BeanDefinitionReader详解

    Spring配置文件解析之BeanDefinitionReader详解

    这篇文章主要介绍了Spring配置文件解析之BeanDefinitionReader详解,ApplicationContext.xml配置文件解析成Document对象,真正对xml中元素解析的类是在BeanDefinitionDocumentReader的实现类中来完成的,需要的朋友可以参考下
    2024-02-02
  • JDBC如何获取数据库连接

    JDBC如何获取数据库连接

    这篇文章主要为大家详细为大家详细介绍了JDBC如何获取数据库连接,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • 如何使用ThreadLocal上下文解决查询性能问题

    如何使用ThreadLocal上下文解决查询性能问题

    这篇文章主要介绍了利用ThreadLocal上下文解决查询性能问题,有两种解决方案,一种是使用ThreadLocal上下文,另一种是使用Redis缓存,需要的朋友可以参考下
    2023-07-07
  • Mybatis两种不同批量插入方式的区别

    Mybatis两种不同批量插入方式的区别

    随着业务需要,有时我们需要将数据批量添加到数据库,mybatis提供了将list集合循环添加到数据库的方法,这篇文章主要给大家介绍了关于Mybatis两种不同批量插入方式的区别,需要的朋友可以参考下
    2021-09-09

最新评论