返回顶部
首页 > 资讯 > 精选 >Nacos集群模式下服务无法注册怎么解决
  • 670
分享到

Nacos集群模式下服务无法注册怎么解决

2023-06-26 03:06:32 670人浏览 独家记忆
摘要

本篇内容介绍了“Nacos集群模式下服务无法注册怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Nacos集群模式下服务无法注册一、环

本篇内容介绍了“Nacos集群模式下服务无法注册怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    Nacos集群模式下服务无法注册

    一、环境

    服务器腾讯云 Centos 7.2 64位 机器三台

    jdk1.8.0_151(由于nacos必须1.8以上),1.8以下会有启动问题,务必升级

    nacos版本0.8.0

    二、nacos服务端搭建

    基本按照官网文档就能搭建起来,另外按照官网文档修改
    了cluster.conf,添加了三台机器的IP(172.XX.XX.14:8848, 172.XX.XX.7:8848, 172.XX.XX.14:8848),启动发现报错

    java.lang.IllegalStateException: unable to find local peer: 118.XX.XX.52:8848, all peers: [172.XX.XX.14:8848, 172.XX.XX.7:8848, 172.XX.XX.14:8848]
            at com.alibaba.nacos.naming.raft.PeerSet.local(PeerSet.java:191)
            at com.alibaba.nacos.naming.monitor.PerfORManceLoggerThread.collectmetrics(PerformanceLoggerThread.java:114)
            at sun.reflect.GeneratedMethodAccessor74.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:497)

    不理它,先把报错的IP加上后,启动成功。

    三、服务注册

    此时启动服务应用进行服务注册,发现报如下错误:

    java.lang.IllegalStateException: failed to req api:/nacos/v1/ns/instance after all servers([172.XX.XX.23:80]) tried
            at com.alibaba.nacos.client.naming.net.NamingProxy.reqAPI(NamingProxy.java:335)
            at com.alibaba.nacos.client.naming.net.NamingProxy.reqAPI(NamingProxy.java:267)
            at com.alibaba.nacos.client.naming.net.NamingProxy.reGISterService(NamingProxy.java:167)
            at com.alibaba.nacos.client.naming.NacosNamingService.registerInstance(NacosNamingService.java:170)
            at org.springframework.cloud.alibaba.nacos.registry.NacosServiceRegistry.register(NacosServiceRegistry.java:56)
            at org.springframework.cloud.alibaba.nacos.registry.NacosServiceRegistry.register(NacosServiceRegistry.java:29)
            at org.springframework.cloud.client.serviceregistry.AbstractAutoServiceRegistration.register(AbstractAutoServiceRegistration.java:209)
            at org.springframework.cloud.alibaba.nacos.registry.NacosAutoServiceRegistration.register(NacosAutoServiceRegistration.java:75)
            at org.springframework.cloud.client.serviceregistry.AbstractAutoServiceRegistration.start(AbstractAutoServiceRegistration.java:108)
            at org.springframework.cloud.client.serviceregistry.AbstractAutoServiceRegistration.bind(AbstractAutoServiceRegistration.java:73)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)

    服务端应用启动报调用服务注册失败,但nacos服务后台三台机器均启动成功,且后台能正常进入,通过URL访问/nacos/v1/ns/instance,也是能正常访问。实在无解,调试代码

    四、问题追踪

    根据调试发现,走到了no leader now,遂怀疑nacos注册中心并未启动成功,之前在cluster.conf中添加的118.XX.XX.52:8848并未解决真正的问题,所以还是不要偷懒,发现问题就要找到真实原因,以免把真实原因给盖掉了

    Loggers.RAFT.info("I'm not leader, will proxy to leader.");            if (RaftCore.getLeader() == null) {                throw new IllegalArgumentException("no leader now.");            }

    后端日志里确实也打印了这个warning,日志在naming-raft.log中

    Nacos集群模式下服务无法注册怎么解决

    然后开始调试nacos服务代码,通过调试发现nacos注册中心在启动时会通过NetUtils类中InetAddress.getLocalHost()去获取本机的IP地址,但这个IP(118.XX.XX.52:8848)并不是本机IP,导致了本机IP不正确,注册中心并没加载成功

    翻阅下文档:

    深层的原因: 在大多数linux操作系统中,都是以/etc/hosts中的配置查找主机名的而Java 的InetAddress.java 调用 InetAddressImpl.java 的 public native String getLocalHostName() throws UnknownHostException; 来获取本地主机名, Java 的这个方法是native的,是本地系统的一个实现,此时根据本地/etc/hostname文件中的机器名来获取本机IP,然而这个IP并不是这台机器的内网IP,那这个IP是哪里来的?

    查找到腾讯云相关配置地方,都没有这个IP,以及在机器上也没找到,后来通过PING本机名获取到了以上报错的IP,猜测这个IP是腾讯云统一分配的,而且生产的机器PING出来的结果也一样。

    五、解决

    设置本机名称:/etc/hostname   mName     最好不是写IP地址的形式,若写则必须是本机的完全IP形式(不要只写一半),如果有就不用设置了

    在/etc/hosts里加一行 本机IP mName

    重启注册中心,注册中心启动成功,发现不报java.lang.IllegalStateException: unable to find local peer: 118.XX.XX.52:8848这个错误了,且通过调试发现,IP确实也正确了

    修改cluster.conf去掉了118.XX.XX.52:8848,重启服务应用进行注册,服务注册成功

    服务没有注册到nacos的原因分析

    因为没有加上版本号,导致不能注册。

        <dependency>        <groupId>org.springframework.cloud</groupId>        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>        <version>0.2.1.RELEASE</version>    </dependency>

    “Nacos集群模式下服务无法注册怎么解决”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

    --结束END--

    本文标题: Nacos集群模式下服务无法注册怎么解决

    本文链接: https://lsjlt.com/news/306613.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • Nacos集群模式下服务无法注册怎么解决
      本篇内容介绍了“Nacos集群模式下服务无法注册怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Nacos集群模式下服务无法注册一、环...
      99+
      2023-06-26
    • Nacos集群模式下服务无法注册问题
      目录Nacos集群模式下服务无法注册一、环境二、nacos服务端搭建三、服务注册四、问题追踪五、解决服务没有注册到nacos的原因分析Nacos集群模式下服务无法注册 一、环境 1、...
      99+
      2024-04-02
    • 无法向Nacos服务器注册服务问题的解决方案
      文章目录 背景软件版本问题情景解决方案产生原因 背景 手头有多台云服务器,有阿里云也有腾讯云,现在想做一个微服务软件,把这些服务器利用起来。先搭了个Nacos服务器试试水,使用浏览器能访问...
      99+
      2023-10-27
      服务器 微服务
    • SpringBoot部署到外部Tomcat无法注册到Nacos服务端如何解决
      本文小编为大家详细介绍“SpringBoot部署到外部Tomcat无法注册到Nacos服务端如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“SpringBoot部署到外部Tomcat无法注册到Nacos服务端如何解决”文章能帮助大家...
      99+
      2023-07-05
    • SpringBoot部署到外部Tomcat无法注册到Nacos服务端的解决思路
      目录事情经过思路解决办法事情经过 近期做一个项目投标演示(POC)环境支持,需要集成Nacos服务端。考虑到现有项目中已经有了Nacos相关依赖,那还不简单?新建个服务端,配置几下重...
      99+
      2023-03-19
      SpringBoot无法注册到Nacos服务端 SpringBoot部署Tomcat
    • SpringCloud+nacos怎么部署在多ip环境下统一nacos服务注册ip
      今天小编给大家分享一下SpringCloud+nacos怎么部署在多ip环境下统一nacos服务注册ip的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,...
      99+
      2023-07-05
    • SAP Hybris和Netweaver的集群模式以及集群模式下工作需要解决的问题是什么
      本篇文章给大家分享的是有关SAP Hybris和Netweaver的集群模式以及集群模式下工作需要解决的问题是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Hybris支持...
      99+
      2023-06-04
    • docker桥接模式下无法连网怎么解决
      在Docker桥接模式下无法连网的问题可能有多种原因,下面提供几种常见的解决方法: 检查网络配置:确保Docker网络配置正确,...
      99+
      2023-10-27
      docker
    • win10兼容模式无法运行怎么解决
      如果在Windows 10上无法运行兼容模式,可以尝试以下几种解决方法:1. 更新驱动程序:确保计算机上的所有驱动程序都是最新的,包...
      99+
      2023-08-20
      win10
    • Win10无法退出安全模式怎么解决
      本文小编为大家详细介绍“Win10无法退出安全模式怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“Win10无法退出安全模式怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Win10无法退出安全模式...
      99+
      2023-07-01
    • 亚马逊服务器账号无法注册原因、解决方法及注意事项
      在互联网上,亚马逊服务器是一个非常重要的平台,它可以为用户提供大量的计算资源和存储空间。然而,一些用户在注册亚马逊服务器账号时遇到了困难。本文将详细说明亚马逊服务器账号无法注册的原因,并提供相应的解决方法和注意事项。 亚马逊服务器账号无法注...
      99+
      2023-12-11
      亚马逊 解决方法 账号
    • win10注册表无法删除所有指定的值怎么解决
      如果你无法删除Win10注册表中的所有指定值,可能是因为你没有足够的权限来编辑注册表。以下是一些可能的解决方法:1. 确保你是以管理...
      99+
      2023-09-20
      win10
    • win10崩溃无法进入安全模式怎么解决
      如果Windows 10系统崩溃无法进入安全模式,您可以尝试以下解决方法:1. 使用安全启动修复:启动计算机时按住Shift键,然后...
      99+
      2023-09-01
      win10
    • win10蓝屏无法进入安全模式怎么解决
      遇到Win10蓝屏无法进入安全模式的情况,可以尝试以下解决方法:1. 重启计算机:有时候计算机会在重启后自动修复蓝屏问题,因此首先尝...
      99+
      2023-08-20
      win10
    • win10系统无法进入安全模式怎么解决
      这篇文章主要介绍“win10系统无法进入安全模式怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“win10系统无法进入安全模式怎么解决”文章能帮助大家解决问题。win10系统无法进入安全解决方...
      99+
      2023-07-01
    • oracle云服务器免费注册失败怎么办解决方法
      如果您在 Amazon 的 Oracle 云服务器上注册失败,您可以尝试以下的解决方法: 检查注册流程:您需要仔细检查所需的步骤。如果您是第一次使用 Oracle 的云服务器,可能需要先熟悉它的操作和管理工具。确保您正在按照正确的提示和...
      99+
      2023-10-26
      免费注册 解决方法 服务器
    • 香港轻量云服务器无法使用手机号注册的解决方法
      1. 了解手机号注册限制原因 在使用香港轻量云服务器时,你可能会遇到无法使用手机号进行注册的问题。这是因为香港轻量云服务器的注册系统可能对手机号进行了限制,只接受特定类型的手机号进行注册。 2. 尝试其他注册方式 如果你的手机号无法注册,...
      99+
      2023-10-28
      香港 手机号 解决方法
    • Win8.1无法进入睡眠模式怎么解决?win8.1如何开启睡眠模式?
      在Windows所有的节能状态中,休眠使用电量最少,因此对于笔记本电脑用户,在一段时间内不使用电脑但又不想关机的话,休眠是最合适的。但是,在Windows 8中,你会发现找不到休眠选项,难道是微软取消了这项...
      99+
      2022-06-04
      睡眠 模式
    • oracle云服务器免费注册失败怎么办解决
      如果您在 Amazon 的 Oracle 云服务器上注册失败,您可以尝试以下措施来解决: 检查注册是否成功。可以在 Amazon 的服务器上尝试登录,如果该服务无法登录,请检查服务器是否正在运行。您可以尝试在控制面板中的服务器管理页面中...
      99+
      2023-10-26
      免费注册 服务器 oracle
    • win10系统怎么解决飞行模式无法关闭问题
      这篇文章将为大家详细讲解有关win10系统怎么解决飞行模式无法关闭问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在Cortana搜索栏输入msconfig后,按回车键启动“系统配置”。点击“服务”选项...
      99+
      2023-06-28
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作