主Server:Port | 副Server:Port | 見證Server:Port |
XXX.XXX.XXX.124:27220 | XXX.XXX.XXX.123:27221 | XXX.XXX.XXX.134:27220 |
(2)測(cè)試步驟
Step 1 向主數(shù)據(jù)庫(kù)(XXX.XXX.XXX.124:27220),插入以下數(shù)據(jù),執(zhí)行時(shí)間要長(zhǎng)一些。
for(var i = 0; i 100000; i++) { db.order0522.insert({a: i});};
Step 2 在上述命令執(zhí)行的過程中,關(guān)于副主Server上的mongodb服務(wù),服務(wù)命名為mongodboplogtest.service
systemctl stop mongodboplogtest.service
Step 3.查詢主副本上數(shù)據(jù)庫(kù)insert的數(shù)據(jù)量,為100000.命令完全插入。
Step 4.關(guān)閉主副本上的Mongodb 服務(wù),服務(wù)命名為mongodboplogtest.service
systemctl stop mongodboplogtest.service
Step 5 開啟輔助節(jié)點(diǎn)上的MongoDB服務(wù)
systemctl start mongodboplogtest.service
step 6 此時(shí)輔助節(jié)點(diǎn)(XXX.XXX.XXX.123)升級(jí)為主節(jié)點(diǎn),此時(shí)數(shù)據(jù)為30337(100000-30337 筆記錄丟失了)
此時(shí) 124 (原主節(jié)點(diǎn))為"stateStr" : "(not reachable/healthy)"
step 7 開啟原主節(jié)點(diǎn)上的服務(wù),集群的狀態(tài),關(guān)于原主節(jié)點(diǎn)的描述短暫處于"stateStr" : "ROLLBACK"
step 8 回滾后,狀態(tài)變?yōu)?stateStr" : "SECONDARY"
step 9 查詢?cè)鞴?jié)點(diǎn)數(shù)據(jù),此時(shí)數(shù)據(jù)量為30337(100000-30337 筆也記錄丟失了)
3.丟失的數(shù)據(jù)是否可以找到
我們發(fā)現(xiàn),重啟原主節(jié)點(diǎn)(XXX.XXX.XXX.124)mongodb服務(wù)后,在數(shù)據(jù)目錄下多了一個(gè)rollback 目錄。
重啟前的數(shù)據(jù)目錄
重啟后的數(shù)據(jù)目錄
進(jìn)去這個(gè)目錄后,我們看到生成了一個(gè)以數(shù)據(jù)庫(kù)+集合名字+時(shí)間的 bson 文件。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。
標(biāo)簽:玉林 自貢 泰安 興安盟 遼陽(yáng) 雞西 廈門 無(wú)錫
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MongoDB副本集丟失數(shù)據(jù)的測(cè)試實(shí)例教程》,本文關(guān)鍵詞 MongoDB,副本,集,丟失,數(shù)據(jù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。