MongoDB添加仲裁節(jié)點(diǎn)報(bào)錯(cuò):replica set IDs do not match的解決方法
背景:
由于歷史原因,某個(gè)MongoDB副本集只有一主一從雙節(jié)點(diǎn),無法滿足自動(dòng)故障轉(zhuǎn)移要求,需要配置一個(gè)仲裁節(jié)點(diǎn)。
原有節(jié)點(diǎn)192.168.10.20:27017,192.168.10.21:27017,現(xiàn)在準(zhǔn)備在20上配置一個(gè)新節(jié)點(diǎn)27018當(dāng)做仲裁
在當(dāng)前主節(jié)點(diǎn)上執(zhí)行
repset:PRIMARY> cfg={_id:"repset", members:[{_id:0, host:'192.168.10.20:27017', priority:1},{_id:2, host:'192.168.10.21:27017', priority:2}, {_id:3, host:'192.168.10.20:27018', arbiterOnly:true}]};
repset:PRIMARY> rs.reconfig(cfg)

顯示配置是成功的,接著用命令查看副本集狀態(tài)時(shí),發(fā)現(xiàn)仲裁節(jié)點(diǎn)不可用,報(bào)錯(cuò)信息replica set IDs do not match。
repset:PRIMARY> rs.status()

網(wǎng)上的各種文檔都是說①查看副本集的名稱是否一致 ②把節(jié)點(diǎn)上的數(shù)據(jù)全都刪掉。
我在確認(rèn)副本集配置名稱一致后,刪除仲裁節(jié)點(diǎn)的數(shù)據(jù)時(shí)發(fā)現(xiàn):1、通過客戶端是無法刪除副本集配置集合;2、刪除底層物理文件會(huì)導(dǎo)致Mongod進(jìn)程啟動(dòng)失敗。
在仔細(xì)回想initiate一次性副本集配置的操作時(shí),發(fā)現(xiàn)配置后,只啟動(dòng)了一個(gè)客戶端。我的猜想是會(huì)不會(huì)是因?yàn)槲覇?dòng)了仲裁節(jié)點(diǎn)的客戶端,仲裁節(jié)點(diǎn)生成了單獨(dú)的副本集ID。
于是我將仲裁節(jié)點(diǎn)的配置文件db、log、Mongodb.conf全都刪除,并重新命令啟動(dòng)仲裁節(jié)點(diǎn)MongoD進(jìn)程后,直接在當(dāng)前Primary節(jié)點(diǎn)按之前的操作添加仲裁節(jié)點(diǎn)后,發(fā)現(xiàn)仲裁節(jié)點(diǎn)已正常。

結(jié)論:
目前只是證實(shí)了我的猜想,還沒找到官方的說法。
在添加副本集節(jié)點(diǎn)的時(shí)候,新增的節(jié)點(diǎn)在啟動(dòng)服務(wù)后,一定不要連接客戶端,否則新增節(jié)點(diǎn)會(huì)生成另外的副本集ID,雖然副本集名稱一致,但是IDs不一致會(huì)報(bào)錯(cuò)。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- Navicat遠(yuǎn)程連接MongoDB最全實(shí)現(xiàn)方法以及報(bào)錯(cuò)解決
- Mongodb 崩潰報(bào)錯(cuò) Too many open files的問題解析
- 解決net start MongoDB 報(bào)錯(cuò)之服務(wù)名無效的問題
- NodeJS連接MongoDB數(shù)據(jù)庫時(shí)報(bào)錯(cuò)的快速解決方法
- 關(guān)于mongoose連接mongodb重復(fù)訪問報(bào)錯(cuò)的解決辦法
- Mongodb啟動(dòng)報(bào)錯(cuò)完美解決方案:about to fork child process,waiting until server is ready for connections.
相關(guān)文章
開發(fā)分布式醫(yī)療掛號(hào)系統(tǒng)MongoDB集成實(shí)現(xiàn)上傳醫(yī)院接口
這篇文章主要介紹了開發(fā)分布式醫(yī)療掛號(hào)系統(tǒng)MongoDB集成實(shí)現(xiàn)上傳醫(yī)院接口,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04
使用Locust對(duì)MongoDB進(jìn)行負(fù)載測(cè)試的操作步驟
Locust是一款使用Python開發(fā)的開源性能測(cè)試工具,支持分布式,可在多臺(tái)主機(jī)上對(duì)系統(tǒng)持續(xù)發(fā)送請(qǐng)求,本文給大家介紹了使用Locust對(duì)MongoDB進(jìn)行負(fù)載測(cè)試的操作步驟,文中通過圖文結(jié)合的方式介紹的非常詳細(xì),需要的朋友可以參考下2025-01-01
Navicat遠(yuǎn)程連接MongoDB最全實(shí)現(xiàn)方法以及報(bào)錯(cuò)解決
這篇文章主要給大家介紹了關(guān)于Navicat遠(yuǎn)程連接MongoDB最全實(shí)現(xiàn)方法以及報(bào)錯(cuò)解決的相關(guān)資料,文中通過圖文將實(shí)現(xiàn)的步驟一步步介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MongoDB具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-03-03
MongoDB查詢性能優(yōu)化驗(yàn)證及驗(yàn)證
這篇文章主要介紹了MongoDB查詢性能驗(yàn)證及優(yōu)化的相關(guān)知識(shí),涉及到MongoDB 查詢優(yōu)化原則知識(shí)點(diǎn),本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧2016-02-02
mongodb出現(xiàn)id重復(fù)問題的簡(jiǎn)單解決辦法
近期在使用mongodb的過程中遇到一次表中有_id字段重復(fù)的記錄(相同_id的有兩條),著實(shí)嚇了一大跳,這篇文章主要給大家介紹了關(guān)于mongodb出現(xiàn)id重復(fù)問題的簡(jiǎn)單解決辦法,需要的朋友可以參考下2021-12-12
mongodb使用c#驅(qū)動(dòng)數(shù)據(jù)插入demo
今天小編就為大家分享一篇關(guān)于mongodb使用c#驅(qū)動(dòng)數(shù)據(jù)插入demo,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-01-01

