欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2019年05月24日 08:35:47   作者:東山絮柳仔  
這篇文章主要給大家介紹了關(guān)于MongoDB副本集丟失數(shù)據(jù)的測試的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用MongoDB具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

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

1. 概要描述

測試場景為:一主一從一驗證

測試案例

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

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

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

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

----測試時,請注意測試步驟。

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

2. 具體的測試步驟

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

主Server:Port 副Server:Port 見證Server:Port
XXX.XXX.XXX.124:27220 XXX.XXX.XXX.123:27221 XXX.XXX.XXX.134:27220

(2)測試步驟

Step 1 向主數(shù)據(jù)庫(XXX.XXX.XXX.124:27220),插入以下數(shù)據(jù),執(zhí)行時間要長一些。

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ù)庫insert的數(shù)據(jù)量,為100000.命令完全插入。

Step 4.關(guān)閉主副本上的Mongodb 服務(wù),服務(wù)命名為mongodboplogtest.service

systemctl stop mongodboplogtest.service

Step 5 開啟輔助節(jié)點上的MongoDB服務(wù)

systemctl start mongodboplogtest.service 

step 6 此時輔助節(jié)點(XXX.XXX.XXX.123)升級為主節(jié)點,此時數(shù)據(jù)為30337(100000-30337 筆記錄丟失了)

此時 124 (原主節(jié)點)為"stateStr" : "(not reachable/healthy)"

step 7 開啟原主節(jié)點上的服務(wù),集群的狀態(tài),關(guān)于原主節(jié)點的描述短暫處于"stateStr" : "ROLLBACK"

step 8 回滾后,狀態(tài)變?yōu)?stateStr" : "SECONDARY"

step 9 查詢原主節(jié)點數(shù)據(jù),此時數(shù)據(jù)量為30337(100000-30337 筆也記錄丟失了)

3.丟失的數(shù)據(jù)是否可以找到

我們發(fā)現(xiàn),重啟原主節(jié)點(XXX.XXX.XXX.124)mongodb服務(wù)后,在數(shù)據(jù)目錄下多了一個rollback 目錄。

重啟前的數(shù)據(jù)目錄

重啟后的數(shù)據(jù)目錄

進(jìn)去這個目錄后,我們看到生成了一個以數(shù)據(jù)庫+集合名字+時間的 bson 文件。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。

相關(guān)文章

  • 使用MongoDB操作文檔

    使用MongoDB操作文檔

    本文詳細(xì)講解了使用MongoDB操作文檔的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • MongoDB使用指南--基本操作

    MongoDB使用指南--基本操作

    上篇文章,我們講訴了MongoDB數(shù)據(jù)庫的用戶操作,本文將介紹如何基本操作MongoDB數(shù)據(jù)庫,當(dāng)然是基本的,最基本的操作,需要的朋友可以參考下
    2014-08-08
  • MongoDB批量將時間戳轉(zhuǎn)為通用日期格式示例代碼

    MongoDB批量將時間戳轉(zhuǎn)為通用日期格式示例代碼

    這篇文章主要給大家介紹了關(guān)于MongoDB批量將時間戳轉(zhuǎn)為通用日期格式的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用MongoDB具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • 解決mongo的tickets被耗盡導(dǎo)致卡頓問題

    解決mongo的tickets被耗盡導(dǎo)致卡頓問題

    這篇文章主要介紹了解決mongo的tickets被耗盡導(dǎo)致卡頓問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • MongoDB的備份(mongodump)與恢復(fù)(mongorestore)

    MongoDB的備份(mongodump)與恢復(fù)(mongorestore)

    在使用MongoDB時,數(shù)據(jù)備份與恢復(fù)是非常重要的一環(huán),以防止數(shù)據(jù)丟失或意外刪除,本文就來介紹一下MongoDB的備份(mongodump)與恢復(fù)(mongorestore),感興趣的可以了解一下
    2023-12-12
  • 如何使用Docker安裝一個MongoDB最新版

    如何使用Docker安裝一個MongoDB最新版

    這篇文章主要介紹了如何使用Docker安裝一個MongoDB最新版,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • mongodb添加arbiter節(jié)點的方法示例

    mongodb添加arbiter節(jié)點的方法示例

    這篇文章主要給大家分享了關(guān)于利用mongodb添加arbiter節(jié)點的方法示例,文中給出了詳細(xì)的示例代碼,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-02-02
  • MongoDB分片測試

    MongoDB分片測試

    分片是mongoDB擴(kuò)展的一種方式。分片分割一個collection并將不同的部分存儲在不同的機(jī)器上,本文給大家介紹MongoDB分片測試,需要的朋友參考下吧
    2016-03-03
  • 在Linux ubuntu下安裝mongodb的方法

    在Linux ubuntu下安裝mongodb的方法

    這篇文章主要給大家介紹了在Linux ubuntu系統(tǒng)上如何安裝mongodb的方法,大家都知道MongoDB是多平臺的文檔存儲數(shù)據(jù)庫;所以本文在ubuntu系統(tǒng)中安裝MongoDB。文中給出了詳細(xì)的步驟,相信對大家的理解和學(xué)習(xí)很有幫助,有需要的朋友們下面來一起看看吧。
    2016-11-11
  • 基于Mongodb分布式鎖解決定時任務(wù)并發(fā)執(zhí)行問題

    基于Mongodb分布式鎖解決定時任務(wù)并發(fā)執(zhí)行問題

    這篇文章主要介紹了基于Mongodb分布式鎖解決定時任務(wù)并發(fā)執(zhí)行問題,網(wǎng)上有很多分布式鎖的實現(xiàn)方案,基于redis、zk、等有很多,但是我的就是一個用了mysql和mongo的小應(yīng)用,本文給大家詳細(xì)講解,需要的朋友可以參考下
    2023-04-04

最新評論