最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nacos集群模式下服務無法注冊問題

 更新時間:2022年01月07日 11:30:19   作者:hwk1986  
這篇文章主要介紹了Nacos集群模式下服務無法注冊問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Nacos集群模式下服務無法注冊

一、環(huán)境

1、服務器:騰訊云 CentOS 7.2 64位 機器三臺

2、JDK1.8.0_151(由于nacos必須1.8以上),1.8以下會有啟動問題,務必升級

3、nacos版本0.8.0

二、nacos服務端搭建

基本按照官網(wǎng)文檔就能搭建起來,另外按照官網(wǎng)文檔修改
了cluster.conf,添加了三臺機器的IP(172.XX.XX.14:8848, 172.XX.XX.7:8848, 172.XX.XX.14:8848),啟動發(fā)現(xiàn)報錯

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加上后,啟動成功。

三、服務注冊

此時啟動服務應用進行服務注冊,發(fā)現(xiàn)報如下錯誤:

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,也是能正常訪問。實在無解,調試代碼

四、問題追蹤

根據(jù)調試發(fā)現(xiàn),走到了no leader now,遂懷疑nacos注冊中心并未啟動成功,之前在cluster.conf中添加的118.XX.XX.52:8848并未解決真正的問題,所以還是不要偷懶,發(fā)現(xiàn)問題就要找到真實原因,以免把真實原因給蓋掉了

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服務代碼,通過調試發(fā)現(xiàn)nacos注冊中心在啟動時會通過NetUtils類中InetAddress.getLocalHost()去獲取本機的IP地址,但這個IP(118.XX.XX.52:8848)并不是本機IP,導致了本機IP不正確,注冊中心并沒加載成功

翻閱下文檔:

深層的原因: 在大多數(shù)Linux操作系統(tǒng)中,都是以/etc/hosts中的配置查找主機名的而Java 的InetAddress.java 調用 InetAddressImpl.java 的 public native String getLocalHostName() throws UnknownHostException; 來獲取本地主機名, Java 的這個方法是native的,是本地系統(tǒng)的一個實現(xiàn),此時根據(jù)本地/etc/hostname文件中的機器名來獲取本機IP,然而這個IP并不是這臺機器的內網(wǎng)IP,那這個IP是哪里來的?

查找到騰訊云相關配置地方,都沒有這個IP,以及在機器上也沒找到,后來通過PING本機名獲取到了以上報錯的IP,猜測這個IP是騰訊云統(tǒng)一分配的,而且生產的機器PING出來的結果也一樣。

五、解決

1. 設置本機名稱:/etc/hostname   mName     最好不是寫IP地址的形式,若寫則必須是本機的完全IP形式(不要只寫一半),如果有就不用設置了

2. 在/etc/hosts里加一行 本機IP mName

3. 重啟注冊中心,注冊中心啟動成功,發(fā)現(xiàn)不報java.lang.IllegalStateException: unable to find local peer: 118.XX.XX.52:8848這個錯誤了,且通過調試發(fā)現(xiàn),IP確實也正確了

4. 修改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>

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 詳談Java8新特性泛型的類型推導

    詳談Java8新特性泛型的類型推導

    這篇文章我們來看一篇關于Java8新特性之泛型的類型推導,希望這篇文章能夠讓各位深入到了解到關于Java8新特性之泛型的類型用法,有需要的朋友們下面來一起看看吧。
    2016-09-09
  • Java8 Lambda表達式詳解及實例

    Java8 Lambda表達式詳解及實例

    這篇文章主要介紹了Java8 Lambda表達式詳解的相關資料,需要的朋友可以參考下
    2016-09-09
  • JAVA多線程CountDownLatch使用詳解

    JAVA多線程CountDownLatch使用詳解

    這篇文章主要為大家詳細介紹了JAVA多線程CountDownLatch的使用,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • MyBatis中的SQL映射文件如何配置參數(shù)映射和使用方法

    MyBatis中的SQL映射文件如何配置參數(shù)映射和使用方法

    MyBatis 是一種開源的 Java 持久化框架,它可以自動將數(shù)據(jù)庫中的數(shù)據(jù)映射到 Java 對象中,并且使得 Java 對象可以非常方便地存儲到數(shù)據(jù)庫中,本文將介紹 MyBatis 中 SQL 映射文件的參數(shù)映射配置和使用方法,需要的朋友可以參考下
    2023-07-07
  • 30分鐘入門Java8之方法引用學習

    30分鐘入門Java8之方法引用學習

    在Java8中,我們可以直接通過方法引用來簡寫lambda表達式中已經存在的方法,這篇文章主要介紹了30分鐘入門Java8之方法引用學習,有興趣可以了解一下。
    2017-04-04
  • Java匿名內部類的使用方法舉例詳解

    Java匿名內部類的使用方法舉例詳解

    Java中的匿名內部類是一種沒有名字的局部內部類,主要用于一次性實現(xiàn)接口或繼承類的場合,它們常見于GUI事件處理、多線程編程等場景,簡化代碼結構同時提高開發(fā)效率,需要的朋友可以參考下
    2024-09-09
  • Java使用NIO優(yōu)化IO實現(xiàn)文件上傳下載功能

    Java使用NIO優(yōu)化IO實現(xiàn)文件上傳下載功能

    IO 是基于流來讀取的,而NIO則是基于塊讀取,面向流 的 I/O 系統(tǒng)一次一個字節(jié)地處理數(shù)據(jù),這篇文章主要介紹了Java使用NIO優(yōu)化IO實現(xiàn)文件上傳下載功能,需要的朋友可以參考下
    2022-07-07
  • springboot2?使用activiti6?idea插件的過程詳解

    springboot2?使用activiti6?idea插件的過程詳解

    這篇文章主要介紹了springboot2?使用activiti6?idea插件,本文通過截圖實例代碼相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • IDEA2020.1啟動SpringBoot項目出現(xiàn)java程序包:xxx不存在

    IDEA2020.1啟動SpringBoot項目出現(xiàn)java程序包:xxx不存在

    這篇文章主要介紹了IDEA2020.1啟動SpringBoot項目出現(xiàn)java程序包:xxx不存在,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • 詳解SpringBoot之訪問靜態(tài)資源(webapp...)

    詳解SpringBoot之訪問靜態(tài)資源(webapp...)

    這篇文章主要介紹了詳解SpringBoot之訪問靜態(tài)資源(webapp...),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09

最新評論

纳雍县| 韶山市| 土默特右旗| 榆林市| 玉树县| 台北县| 海门市| 获嘉县| 沾化县| 鹤峰县| 墨脱县| 苍梧县| 平阴县| 曲沃县| 革吉县| 山东省| 永宁县| 青阳县| 稻城县| 卢湾区| 金川县| 晋城| 德格县| 大庆市| 望城县| 青海省| 化州市| 崇文区| 湖南省| 广东省| 固原市| 宣武区| 天津市| 拜泉县| 孝义市| 建德市| 青岛市| 高雄市| 英吉沙县| 商河县| 建阳市|