濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > MongoDB副本集丟失數(shù)據(jù)的測(cè)試實(shí)例教程

MongoDB副本集丟失數(shù)據(jù)的測(cè)試實(shí)例教程

熱門標(biāo)簽:老虎洗衣店地圖標(biāo)注 呼和浩特電銷外呼系統(tǒng)加盟 怎么投訴地圖標(biāo)注 濟(jì)南電銷機(jī)器人加盟公司 蘋果汽車租賃店地圖標(biāo)注 云南外呼系統(tǒng) 電銷機(jī)器人是什么軟件 杭州人工電銷機(jī)器人價(jià)格 廣州長(zhǎng)安公司怎樣申請(qǐng)400電話

在MongoDB副本集的測(cè)試中發(fā)現(xiàn)了一個(gè)丟數(shù)據(jù)的案例。

1. 概要描述

測(cè)試場(chǎng)景為:一主一從一驗(yàn)證

測(cè)試案例

step1 :關(guān)閉從副本;

step 2 ;向主副本中插入那條數(shù)據(jù);

step 3 :關(guān)閉主副本;

step 4 :開啟輔助副本,此副本升級(jí)為主副本,這是后會(huì)看到新的主副本沒有剛才插入的幾筆數(shù)據(jù)。

----測(cè)試時(shí),請(qǐng)注意測(cè)試步驟。

step 5 :原主節(jié)點(diǎn) 再次加入到集群中后,會(huì)變成新的輔助副本。測(cè)試插入的數(shù)據(jù)會(huì)產(chǎn)生回滾。

2. 具體的測(cè)試步驟

(1)測(cè)試服務(wù)器,原測(cè)試環(huán)境

主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ì)腳本之家的支持。

您可能感興趣的文章:
  • MongoDB的主從復(fù)制及副本集的replSet配置教程
  • Mongodb 副本集搭建問題總結(jié)及解決辦法
  • Mongodb3.0.5 副本集搭建及spring和java連接副本集配置詳細(xì)介紹
  • mongodb3.4集群搭建實(shí)戰(zhàn)之高可用的分片+副本集
  • 詳解MongoDB中用sharding將副本集分配至服務(wù)器集群的方法
  • Mongodb副本集和分片示例詳解
  • CentOS 6.4創(chuàng)建Mongodb副本集
  • MongoDB 復(fù)制(副本集)學(xué)習(xí)筆記
  • mongodb 4.0副本集搭建的全過程

標(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)。
  • 相關(guān)文章
  • 下面列出與本文章《MongoDB副本集丟失數(shù)據(jù)的測(cè)試實(shí)例教程》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于MongoDB副本集丟失數(shù)據(jù)的測(cè)試實(shí)例教程的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    册亨县| 南充市| 隆子县| 桑日县| 朔州市| 客服| 石河子市| 巫溪县| 尚志市| 平度市| 垦利县| 西峡县| 石门县| 巴南区| 达州市| 定西市| 方正县| 密云县| 马山县| 北票市| 庆安县| 洪泽县| 屯留县| 开远市| 靖西县| 二连浩特市| 夹江县| 岢岚县| 通海县| 栾川县| 余江县| 崇信县| 亚东县| 旌德县| 文安县| 宿迁市| 聂荣县| 克拉玛依市| 西宁市| 邻水| 安岳县|