關(guān)于nacos無法正常下線問題記錄
問題描述
公司搭建了nacos集群,但是在微服務(wù)下線時會無法正常下線,點擊下線提示
caused: errCode: 500, errMsg: do metadata operation failed ;caused: com.alibaba.nacos.consistency.exception.ConsistencyException: com.alibaba.nacos.core.distributed.raft.exception.NoLeaderException: The Raft Group [naming_instance_metadata] did not find the Leader node;caused: com.alibaba.nacos.core.distributed.raft.exception.NoLeaderException: The Raft Group [naming_instance_metadata] did not find the Leader node;
ERROR Fail to refresh route configuration for group : naming_instance_metadata, status is : Status[UNKNOWN<-1>: Fail to get leader of group naming_instance_metadata]
ERROR Fail to refresh route configuration for group : naming_service_metadata, status is : Status[UNKNOWN<-1>: Fail to get leader of group naming_service_metadata]
解決方案
單機情況下直接刪除data/protocol文件夾重啟就可以解決,但是我們使用的是集群部署的模式,嘗試刪除此文件夾重啟后問題依舊存在。
經(jīng)過對比發(fā)現(xiàn)集群節(jié)點的元數(shù)據(jù)是不正常的
{ "lastRefreshTime": 1648556157101, "raftMetaData": { "metaDataMap": { "naming_persistent_service": { "leader": "192.168.96.77:7848", "raftGroupMember": [ "192.168.96.77:7848", "192.168.96.79:7848", "192.168.96.82:7848" ], "term": 5 } } }, "raftPort": "7848", "version": "2.0.3" }
下面才是正常的元數(shù)據(jù)
{ "lastRefreshTime": 1648604205057, "raftMetaData": { "metaDataMap": { "naming_instance_metadata": { "leader": "192.168.3.156:7852", "raftGroupMember": [ "192.168.3.156:7852", "192.168.3.156:7848", "192.168.3.156:7850" ], "term": 29 }, "naming_persistent_service": {}, "naming_persistent_service_v2": { "leader": "192.168.3.156:7852", "raftGroupMember": [ "192.168.3.156:7852", "192.168.3.156:7848", "192.168.3.156:7850" ], "term": 29 }, "naming_service_metadata": { "leader": "192.168.3.156:7852", "raftGroupMember": [ "192.168.3.156:7852", "192.168.3.156:7848", "192.168.3.156:7850" ], "term": 29 } } }, "raftPort": "7848", "readyToUpgrade": true, "version": "2.0.4" }
雖然本地的版本和線上的版本不一致,但是可以看出來正常的nacos集群選舉出來的元數(shù)據(jù)有naming_persistent_service、naming_service_metadata、naming_instance_metadata這三個字段同時出現(xiàn)的。
所以大概可以猜到是我們線上的nacos選舉出現(xiàn)了問題。
檢查了線上的各個端口后并沒有發(fā)現(xiàn)端口不通的問題,經(jīng)過查找資料,我認(rèn)為應(yīng)該是多個網(wǎng)卡導(dǎo)致的nacos識別網(wǎng)卡不正確導(dǎo)致的問題。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java深入了解數(shù)據(jù)結(jié)構(gòu)之優(yōu)先級隊列(堆)
普通的隊列是一種先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),元素在隊列尾追加,而從隊列頭刪除。在優(yōu)先隊列中,元素被賦予優(yōu)先級。當(dāng)訪問元素時,具有最高優(yōu)先級的元素最先刪除。優(yōu)先隊列具有最高級先出 (first in, largest out)的行為特征。通常采用堆數(shù)據(jù)結(jié)構(gòu)來實現(xiàn)2022-01-01JDK9為何要將String的底層實現(xiàn)由char[]改成了byte[]
String 類的源碼已經(jīng)由?char[]?優(yōu)化為了?byte[]?來存儲字符串內(nèi)容,為什么要這樣做呢?本文就詳細(xì)的介紹一下,感興趣的可以了解一下2022-03-03SpringMVC實現(xiàn)全局異常處理器的經(jīng)典案例
文章介紹了如何使用@ControllerAdvice和相關(guān)注解實現(xiàn)SpringMVC的全局異常處理,通過統(tǒng)一的異常處理類和自定義業(yè)務(wù)異常類,可以將所有控制器的異常集中處理,并以JSON格式返回給前端,感興趣的朋友一起看看吧2025-03-03Spring?Boot?配置?Hikari?數(shù)據(jù)庫連接池的操作代碼
數(shù)據(jù)庫連接池是一個提高程序與數(shù)據(jù)庫的連接的優(yōu)化,連接池它主要作用是提高性能、節(jié)省資源、控制連接數(shù)、連接管理等操作,這篇文章主要介紹了SpringBoot配置Hikari數(shù)據(jù)庫連接池,需要的朋友可以參考下2023-09-09java String.split 無法使用小數(shù)點分割的問題
這篇文章主要介紹了java String.split 無法使用小數(shù)點分割的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02