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

關(guān)于單臺MongoDB實例開啟Oplog的過程詳解

 更新時間:2018年09月16日 14:30:07   作者:東山絮柳仔  
這篇文章主要給大家介紹了關(guān)于單臺MongoDB實例開啟Oplog的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

背景

隨著數(shù)據(jù)的積累,MongoDB中的數(shù)據(jù)量越來越大,數(shù)據(jù)分析團隊從數(shù)據(jù)庫中抽取變化數(shù)據(jù)(假如依據(jù)欄位createdatetime,transdatetime),越來越困難。我們知道MongoDB的副本集有一個數(shù)據(jù)結(jié)構(gòu)Oplog,里面存儲了Primary節(jié)點的所有寫操作(此處的寫操作是指查詢以外的操作,包含 更新、異常等)。其實,數(shù)據(jù)的抽取完全可以從Oplog中抓取這些操作,然后去重放。

oplog是local庫下的一個固定集合,Secondary就是通過查看Primary 的oplog這個集合來進行復制的。每個節(jié)點都有oplog,記錄這從主節(jié)點復制過來的信息,這樣每個成員都可以作為同步源給其他節(jié)點。

Oplog 可以說是Mongodb Replication的紐帶了。

但是在實際的生產(chǎn)環(huán)境中,我們很多MongoDB 數(shù)據(jù)庫是單實例的,那么我們能否在單實例數(shù)據(jù)庫上開啟Oplog?

答案是肯定的。

其原理就是,在單實例上配置副本集,如果配置成功了,自然就有了Oplog。

配置過程

其實配置的過程比較簡單。

step 1 : 在配置文件中 添加副本集參數(shù)(replSet);

step 2 :重啟服務;

step 3:在local數(shù)據(jù)庫或admin數(shù)據(jù)庫執(zhí)行初始化副本集的腳本,rs.initiate()。

注意事項

1. 在配置文件中增加副本集參數(shù)(replSet=??),MongoDB實例重啟,第一次登入,執(zhí)行其他命令時(例如:show dbs),會提示錯誤,錯誤信息如下,

{
"ok" : 0,
"errmsg" : "not master and slaveOk=false",
"code" : 13435,
"codeName" : "NotMasterNoSlaveOk"
}

此時一定要執(zhí)行初始化的命令:

rs.initiate({ _id: "副本集名稱", members: [{_id:0,host:"ServerIP:MongoDBPort"}]})

2 . 初始化時,請指明 Server信息和端口信息,否則初始化時可能報錯,報錯信息如下

"errmsg" : "No host described in new configuration 1 for replica set replwms maps to this node",

指定IP 和 端口,副本集名稱,例如執(zhí)行以下命令,OK

3 . 副本集初始化可以在admin中執(zhí)行,不僅僅可以在local數(shù)據(jù)庫中執(zhí)行【真正的副本集建立多是在admin庫中執(zhí)行】。

而不像有些文章中要求的那樣 :You just need to issuers.initiate()on thelocaldatabase:

4. 初始完,副本集中唯一的節(jié)點,可能短時間顯示為SECONDARY或OTHER。一般而言,稍等一會,就會自然恢復為primary,無需人工干預。

如果數(shù)據(jù)庫的數(shù)據(jù)量不大,并且長時間初始這種過渡狀態(tài)(SECONDARY或OTHER),去看實例的日志,也顯示無進展,此時可以考慮重啟服務。

下面案例是我們實際遇到的一個場景,我們是通過重啟服務解決此問題,角色由other重啟轉(zhuǎn)換為Primary

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • MongoDB創(chuàng)建用戶報錯command createUser requires authentication的解決方法

    MongoDB創(chuàng)建用戶報錯command createUser requires auth

    這篇文章主要介紹了MongoDB創(chuàng)建用戶報錯command createUser requires authentication的解決方法,文中通過代碼和圖文講解的非常詳細,對大家的解決問題有一定的幫助,需要的朋友可以參考下
    2024-09-09
  • MongoDB基礎(chǔ)之查詢文檔

    MongoDB基礎(chǔ)之查詢文檔

    這篇文章介紹了MongoDB基礎(chǔ)之查詢文檔,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • MongoDB最基本命令速查筆記

    MongoDB最基本命令速查筆記

    這篇文章主要介紹了一些MongoDB最基本命令的這樣一個速查筆記,包括MongoDB非正常關(guān)閉后無法啟動問題的解決方法,需要的朋友可以參考下
    2016-01-01
  • MongoDB聚合運算符$dateFromString詳解

    MongoDB聚合運算符$dateFromString詳解

    $dateFromString聚合運算符將日期時間字符串轉(zhuǎn)換為日期對象,本文給大家介紹MongoDB聚合運算符$dateFromString的相關(guān)知識,感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • mongodb處理中文索引與查找字符串詳解

    mongodb處理中文索引與查找字符串詳解

    這篇文章主要介紹了mongodb處理中文索引與查找字符串的相關(guān)資料,文中介紹的非常詳細,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • MongoDB數(shù)據(jù)庫安裝配置、基本操作實例詳解

    MongoDB數(shù)據(jù)庫安裝配置、基本操作實例詳解

    這篇文章主要介紹了MongoDB數(shù)據(jù)庫安裝配置、基本操作,結(jié)合實例形式詳細分析了MongoDB數(shù)據(jù)庫安裝配置具體步驟、相關(guān)命令與基本操作實現(xiàn)技巧,需要的朋友可以參考下
    2020-01-01
  • MongoD管理數(shù)據(jù)庫的方法介紹

    MongoD管理數(shù)據(jù)庫的方法介紹

    這篇文章介紹了MongoDB管理數(shù)據(jù)庫的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • PHP庫 查詢Mongodb中的文檔ID的方法

    PHP庫 查詢Mongodb中的文檔ID的方法

    這篇文章主要介紹了PHP庫 查詢Mongodb中的文檔ID的方法的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • MongoDB中sort()排序方法、aggregate()聚合方法和索引代碼示例

    MongoDB中sort()排序方法、aggregate()聚合方法和索引代碼示例

    這篇文章主要給大家介紹了關(guān)于MongoDB中sort()排序方法、aggregate()聚合方法和索引的相關(guān)資料,MongoDB的聚合函數(shù)Aggregate是一組用于對MongoDB中的數(shù)據(jù)集進行聚合操作的函數(shù),文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-04-04
  • MongoDB為用戶設置訪問權(quán)限

    MongoDB為用戶設置訪問權(quán)限

    MongoDB已經(jīng)使用很長一段時間了,基于MongoDB的數(shù)據(jù)存儲也一直沒有使用到權(quán)限訪問 MongoDB默認設置為無權(quán)限訪問限制
    2012-11-11

最新評論