親測(cè)解決,nacos下線失敗問(wèn)題
場(chǎng)景重現(xiàn)
當(dāng)多個(gè)開(kāi)發(fā)者共同投入一個(gè)項(xiàng)目的時(shí)候,通常會(huì)出現(xiàn)一個(gè)項(xiàng)目同時(shí)啟動(dòng),調(diào)用接口調(diào)試工具共同測(cè)試的接口開(kāi)發(fā)情況的情形;
為了保證測(cè)試環(huán)境的穩(wěn)定性,我們一般不通過(guò)頁(yè)面進(jìn)行調(diào)試,這時(shí)我們會(huì)采用在nacos服務(wù)中,將測(cè)試應(yīng)用下線的動(dòng)作;
如下圖,我們需要將B + C服務(wù)下線。
問(wèn)題浮現(xiàn)
當(dāng)點(diǎn)擊“下線”按鈕的時(shí)候,無(wú)法正常下線,出現(xiàn)下面問(wèn)題。
caused: errCode: 500, errMsg:
do metadata operation failed ;caused: com.alibaba.nacos.consistency.exception.ConsistencyException:
The Raft Group [naming_instance_metadata] did not find the Leader node;caused: The Raft Group [naming_instance_metadata] did not find the Leader node;
//錯(cuò)誤消息表示Raft Group [naming_instance_metadata] 沒(méi)有找到Leader節(jié)點(diǎn)。這可能是由網(wǎng)絡(luò)問(wèn)題、節(jié)點(diǎn)故障或者配置錯(cuò)誤導(dǎo)致的。
這是因?yàn)椋寒?dāng)我們自己的服務(wù)器 IP 改變時(shí)(網(wǎng)絡(luò)環(huán)境不穩(wěn)定,如WIFI或者IP地址變化),導(dǎo)致 raft 記錄的集群地址失效。
我的問(wèn)題原因是網(wǎng)絡(luò)的變化,我在nacos啟動(dòng)過(guò)程中,IP地址有變化;
- ①采用刪除nacos安裝目錄下data下的protocol文件夾;
- ②重啟nacos服務(wù)的方法即可解決。
番外一:Linux如何找到/data/protocol文件夾
備注:下面的內(nèi)容是前提是,使用docker啟動(dòng)的nacos
1.查看容器名稱
docker ps
2.進(jìn)入容器
// 進(jìn)入容器 docker exec -it nacos bash // 如果你進(jìn)來(lái)的目錄不對(duì),不要著急,進(jìn)入/home/nacos目錄下即可 cd /home/nacos // 進(jìn)入data目錄,重復(fù)下面步驟,刪除目標(biāo)文件夾即可 rm -rf protocol/
番外二:Linux如何刪除protocl文件夾
// 進(jìn)入data目錄 cd /data // 循環(huán)刪除protocol目錄 rm -rf protocol/ nacos的raft協(xié)議
nacos介紹
Nacos是一個(gè)用于動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、配置管理和服務(wù)管理的開(kāi)源項(xiàng)目。
Nacos集群不僅支持AP模式(分區(qū)可用性),也支持CP模式(分區(qū)一致性)。對(duì)于臨時(shí)數(shù)據(jù)的同步,采用的是AP模式,對(duì)于持久性的數(shù)據(jù),采用的CP模式,使用raft協(xié)議實(shí)現(xiàn)。
raft協(xié)議是什么
在Nacos的架構(gòu)中,使用了Raft協(xié)議來(lái)實(shí)現(xiàn)多節(jié)點(diǎn)之間的一致性。
raft協(xié)議是一種分布式一致性協(xié)議。
raft協(xié)議保證集群中節(jié)點(diǎn)的數(shù)據(jù)的一致性,是一種強(qiáng)一致性協(xié)議。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java unicode轉(zhuǎn)碼為中文實(shí)例
這篇文章主要介紹了java unicode轉(zhuǎn)碼為中文的實(shí)例,大家參考使用吧2013-12-12Java使用Tinify實(shí)現(xiàn)圖片無(wú)損壓縮(4M無(wú)損壓縮到1M)的方法
在當(dāng)今的數(shù)字化時(shí)代,圖片已成為網(wǎng)站、應(yīng)用和社交媒體中不可或缺的元素,然而,大尺寸的圖片不僅會(huì)增加頁(yè)面或者客戶端加載時(shí)間,還會(huì)占用大量的存儲(chǔ)空間,本文將詳細(xì)介紹如何利用Tinify壓縮圖片,并將其上傳至OSS,重點(diǎn)介紹圖片壓縮實(shí)現(xiàn)方式,需要的朋友可以參考下2024-08-08springboot訪問(wèn)template下的html頁(yè)面的實(shí)現(xiàn)配置
這篇文章主要介紹了springboot訪問(wèn)template下的html頁(yè)面的實(shí)現(xiàn)配置,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12SpringBoot統(tǒng)一返回結(jié)果問(wèn)題
這篇文章主要介紹了SpringBoot統(tǒng)一返回結(jié)果問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07Java并發(fā)編程ArrayBlockingQueue的使用
ArrayBlockingQueue是一個(gè)備受矚目的有界阻塞隊(duì)列,本文將全面深入地介紹ArrayBlockingQueue的內(nèi)部機(jī)制、使用場(chǎng)景以及最佳實(shí)踐,感興趣的可以了解一下2024-08-08springboot集成websocket的四種方式小結(jié)
本文主要介紹了springboot集成websocket的四種方式小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12