關于nacos無法正常下線問題記錄
問題描述
公司搭建了nacos集群,但是在微服務下線時會無法正常下線,點擊下線提示
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文件夾重啟就可以解決,但是我們使用的是集群部署的模式,嘗試刪除此文件夾重啟后問題依舊存在。
經過對比發(fā)現集群節(jié)點的元數據是不正常的
{
"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"
}下面才是正常的元數據
{
"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集群選舉出來的元數據有naming_persistent_service、naming_service_metadata、naming_instance_metadata這三個字段同時出現的。
所以大概可以猜到是我們線上的nacos選舉出現了問題。
檢查了線上的各個端口后并沒有發(fā)現端口不通的問題,經過查找資料,我認為應該是多個網卡導致的nacos識別網卡不正確導致的問題。
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
JDK9為何要將String的底層實現由char[]改成了byte[]
String 類的源碼已經由?char[]?優(yōu)化為了?byte[]?來存儲字符串內容,為什么要這樣做呢?本文就詳細的介紹一下,感興趣的可以了解一下2022-03-03
Spring?Boot?配置?Hikari?數據庫連接池的操作代碼
數據庫連接池是一個提高程序與數據庫的連接的優(yōu)化,連接池它主要作用是提高性能、節(jié)省資源、控制連接數、連接管理等操作,這篇文章主要介紹了SpringBoot配置Hikari數據庫連接池,需要的朋友可以參考下2023-09-09
java String.split 無法使用小數點分割的問題
這篇文章主要介紹了java String.split 無法使用小數點分割的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02

