【开发问题记录】Nacos修改服务实例权重时报错

一、问题描述

1.1 产生原因

在运行项目时,在本地启动了一个服务,但是在虚拟机中也有相同的服务启动,因为是在开发阶段,要先在本地进行代码编写,完成后再提交到服务器进行部署上线。
我在本地修改完代码后,需要与网关联调,进行测试,但由于本地和服务器都启动了该服务,所以需要在nacos的服务中心对该服务的两个实例(本地、虚拟机)中的一个进行权重的修改,目的是保证服务请求一定进入本地启动的服务。

1.2 产生问题

我在修改权重时,点击确定后,nacos产生了报错信息,如(caused: errCode: 500, errMsg: do metadata operation failed ;caused: com.alibaba.nacos.consistency.exception.ConsistencyException:
The Raft Group [naming_instance_metadata] did not find the Leader node;caused: The Raft Group [naming_instance_metadata] did not find the Leader node;


在这里插入图片描述

在这里插入图片描述


二、问题解决

在网上找到的解决方案主要是以下几个:

  1. 检查网络:确保Nacos集群中的所有节点之间的网络通信是正常的。网络分区或网络故障可能导致节点之间的通信中断,从而影响Raft协议的正常工作。
  2. 检查节点状态:检查Nacos集群中所有节点的状态,确保它们都在正常运行。如果有节点故障,需要修复或更换故障节点。
  3. 检查配置:检查Nacos的配置,特别是与Raft协议相关的配置,确保它们是正确的。不正确的配置可能导致Raft协议无法正常工作。
  4. 日志分析:详细分析Nacos的日志,这可能帮助你找到问题的根本原因。例如,你可能能找到关于节点为何无法选举Leader,或者为何Leader节点无法被其他节点找到的更多信息。

大部分的报错原因应该都是网络节点的问题,一般解决方案都是删除nacos目录下data目录中的protocol文件夹,但是我是用docker部署的nacos,其实也是一样的

2.1 docker部署的nacos解决方案

2.1.1 进入nacos容器

docker exec -it nacos bash

2.1.2 查看当前目录

ls

2.1.3 进入data文件夹

cd data

2.1.4 删除protocol文件

rm -rf protocol/

在这里插入图片描述


  • 做完这些后重启nacos,然后再修改权重即可成功

2.2 本地部署的nacos

找到本地nacos安装目录,找到data文件夹,删除protocol文件即可

  • 12
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶落闲庭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值