Nacos服务下线报错

前言

记录一下调试远程和本地代码的时候,下线Nacos远程服务报错问题

问题复现

192.168.150.1是本地运行的服务, 101是服务器部署的服务,现在我需要让接口调用Nacos的时候走192.168.150.1有两种方法,一种是调整某个服务的 优先级,第二种方法是直接下线某个服务,这里我采用的是第二种,直接下线服务的方式,此时就出现了一下的问题

问题分析

nacos 采用 raft选举算法计算 Leader,并记录上次启动的集群地址,服务器 IP 改变时(网络环境不稳定,如WIFI, IP 地址也经常变化)会导致 raft 记录的集群地址失效,导致选 Leader 出现问题。

解决方法

Nacos在本地

  • 删除Nacos根目录下data文件中的protocol文件夹,然后重启即可

Nacos在服务器中

相关命令

1
2
3
4
5
6
docker exec -it nacos /bin/bash		## 进入nacos容器
cd data/ ## 进入data文件夹
rm -rf protocol/ ## 删除文件夹
exit

docker restart nacos ## 重启Nacos容器

image-20231105164038279

等待Nacos重启之后再次点击下线成功,此问题解决

image-20231105164349284