记一次nacos排错(报503错误)

7 篇文章 0 订阅
6 篇文章 0 订阅

现场还原

最近在使用docker搭建nacos(使用的是standalone 模式),并通过springboot 连接nacos时出现下面的报错:
failed to req API:/nacos/v1/ns/instance after all servers([basesys.llf.com:8848]) tried: ErrCode:503, ErrMsg:server is DOWNnow, detailed error message: Optional[No leader for raft group naming_persistent_service, please see logs alipay-jraft.log or naming-raft.log to see details.]
at com.alibaba.nacos.client.naming.net.NamingProxy.reqApi(NamingProxy.java:556)
通过网页访问正常,没有任何异常。

问题排查

从网上查找很多资料,都没有得到解决。再问ai 也没有给出有效的反馈。 最后查看alipay-jraft.log中的日志显示:WARN Node <naming_instance_metadata/172.18.0.2:7848> can’t do preVote as it is not in conf <ConfigurationEntry [id=LogId [index=6, term=6], conf=172.18.0.4:7848, oldConf=]>.
将这个日志信息反馈给ai,发现这个是集群模式下在投票,日志中显示无法完成投票。
这就奇怪了,我们使用的明明是独立模式,为什么还需要投票呢。
又是一通配置排查,仍然没有问题。

问题解决

在和ai交互的过程中,ai’给了我个提示信息:“清理数据目录:如果Nacos曾经在集群模式下运行过,可能存在旧的数据目录或配置残留。可以尝试清理/usr/local/docker_data/nacos/datadir中的数据,重新启动Nacos。” 这个突然提醒我了,之前安装nacos时,临时启动过,这个目录是用过的,所以立马去查看,果然有历史的文件信息,遂立马删除/usr/local/docker_data/nacos/datadir下的目录(tenant-config-data 除外,这个是配置中心的数据,是需要用的,所以不删除)。删除后重启问题解决了。

总结回顾

  1. 在使用docker搭建各种容器时,使用挂载的方式可以很好的保护我们的数据,使得在重新搭建容器时数据不会丢失,但也可能存在垃圾数据,所以以后还是需要分辨,该删除的还是需要删除
  2. ai虽然不能给我们彻底解决问题,但是可以帮助我们查找问题,给我们查找问题提供方向,还是很有用的。
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

蜗牛_snail

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

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

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

打赏作者

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

抵扣说明:

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

余额充值