關(guān)于nacos無(wú)法正常下線(xiàn)問(wèn)題記錄
問(wèn)題描述
公司搭建了nacos集群,但是在微服務(wù)下線(xiàn)時(shí)會(huì)無(wú)法正常下線(xiàn),點(diǎn)擊下線(xiàn)提示
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]
解決方案
單機(jī)情況下直接刪除data/protocol文件夾重啟就可以解決,但是我們使用的是集群部署的模式,嘗試刪除此文件夾重啟后問(wèn)題依舊存在。
經(jīng)過(guò)對(duì)比發(fā)現(xiàn)集群節(jié)點(diǎn)的元數(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"
}雖然本地的版本和線(xiàn)上的版本不一致,但是可以看出來(lái)正常的nacos集群選舉出來(lái)的元數(shù)據(jù)有naming_persistent_service、naming_service_metadata、naming_instance_metadata這三個(gè)字段同時(shí)出現(xiàn)的。
所以大概可以猜到是我們線(xiàn)上的nacos選舉出現(xiàn)了問(wèn)題。
檢查了線(xiàn)上的各個(gè)端口后并沒(méi)有發(fā)現(xiàn)端口不通的問(wèn)題,經(jīng)過(guò)查找資料,我認(rèn)為應(yīng)該是多個(gè)網(wǎng)卡導(dǎo)致的nacos識(shí)別網(wǎng)卡不正確導(dǎo)致的問(wèn)題。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring的@RequestParam對(duì)象綁定方式
這篇文章主要介紹了Spring的@RequestParam對(duì)象綁定方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
使用spring連接及操作mongodb3.0實(shí)例
這篇文章主要介紹了使用spring連接及操作mongodb3.0實(shí)例,詳細(xì)的介紹了使用spring的情況下,在java中簡(jiǎn)單操作mongodb。有興趣的可以了解一下。2016-12-12
Java深入了解數(shù)據(jù)結(jié)構(gòu)之優(yōu)先級(jí)隊(duì)列(堆)
普通的隊(duì)列是一種先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),元素在隊(duì)列尾追加,而從隊(duì)列頭刪除。在優(yōu)先隊(duì)列中,元素被賦予優(yōu)先級(jí)。當(dāng)訪問(wèn)元素時(shí),具有最高優(yōu)先級(jí)的元素最先刪除。優(yōu)先隊(duì)列具有最高級(jí)先出 (first in, largest out)的行為特征。通常采用堆數(shù)據(jù)結(jié)構(gòu)來(lái)實(shí)現(xiàn)2022-01-01
JDK9為何要將String的底層實(shí)現(xiàn)由char[]改成了byte[]
String 類(lèi)的源碼已經(jīng)由?char[]?優(yōu)化為了?byte[]?來(lái)存儲(chǔ)字符串內(nèi)容,為什么要這樣做呢?本文就詳細(xì)的介紹一下,感興趣的可以了解一下2022-03-03
SpringMVC實(shí)現(xiàn)全局異常處理器的經(jīng)典案例
文章介紹了如何使用@ControllerAdvice和相關(guān)注解實(shí)現(xiàn)SpringMVC的全局異常處理,通過(guò)統(tǒng)一的異常處理類(lèi)和自定義業(yè)務(wù)異常類(lèi),可以將所有控制器的異常集中處理,并以JSON格式返回給前端,感興趣的朋友一起看看吧2025-03-03
MyBatis連接池的深入和動(dòng)態(tài)SQL詳解
這篇文章主要介紹了MyBatis連接池的深入和動(dòng)態(tài)SQL詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
Spring?Boot?配置?Hikari?數(shù)據(jù)庫(kù)連接池的操作代碼
數(shù)據(jù)庫(kù)連接池是一個(gè)提高程序與數(shù)據(jù)庫(kù)的連接的優(yōu)化,連接池它主要作用是提高性能、節(jié)省資源、控制連接數(shù)、連接管理等操作,這篇文章主要介紹了SpringBoot配置Hikari數(shù)據(jù)庫(kù)連接池,需要的朋友可以參考下2023-09-09
java String.split 無(wú)法使用小數(shù)點(diǎn)分割的問(wèn)題
這篇文章主要介紹了java String.split 無(wú)法使用小數(shù)點(diǎn)分割的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02

