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目录下的文件即可
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论