濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > 關(guān)于單臺(tái)MongoDB實(shí)例開啟Oplog的過程詳解

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

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

背景

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

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

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

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

答案是肯定的。

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

配置過程

其實(shí)配置的過程比較簡(jiǎn)單。

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

step 2 :重啟服務(wù);

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

注意事項(xiàng)

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

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

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

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

2 . 初始化時(shí),請(qǐng)指明 Server信息和端口信息,否則初始化時(shí)可能報(bào)錯(cuò),報(bào)錯(cuò)信息如下

"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ù)庫(kù)中執(zhí)行【真正的副本集建立多是在admin庫(kù)中執(zhí)行】。

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

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

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

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

總結(jié)

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

您可能感興趣的文章:
  • 利用MongoDB中oplog機(jī)制實(shí)現(xiàn)準(zhǔn)實(shí)時(shí)數(shù)據(jù)的操作監(jiān)控
  • Mongodb的oplog詳解
  • mongodb中oplog介紹和格式詳析

標(biāo)簽:廈門 泰安 雞西 自貢 無錫 興安盟 玉林 遼陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《關(guān)于單臺(tái)MongoDB實(shí)例開啟Oplog的過程詳解》,本文關(guān)鍵詞  關(guān)于,單臺(tái),MongoDB,實(shí)例,開啟,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《關(guān)于單臺(tái)MongoDB實(shí)例開啟Oplog的過程詳解》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于關(guān)于單臺(tái)MongoDB實(shí)例開啟Oplog的過程詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    襄城县| 麻城市| 靖江市| 济南市| 德安县| 汶川县| 新乡市| 临泉县| 江华| 冷水江市| 滦南县| 德江县| 左权县| 焦作市| 收藏| 交城县| 诸暨市| 荥经县| 闵行区| 江都市| 皋兰县| 延川县| 双辽市| 辰溪县| 遵义市| 元阳县| 新建县| 吴江市| 东城区| 望谟县| 霍邱县| 泾川县| 延津县| 新沂市| 老河口市| 通许县| 达拉特旗| 古浪县| 阳曲县| 望江县| 公安县|