濮阳杆衣贸易有限公司

主頁 > 知識庫 > MongoDB的Master-Slave主從模式配置及主從復(fù)制要點解析

MongoDB的Master-Slave主從模式配置及主從復(fù)制要點解析

熱門標(biāo)簽:高德地圖標(biāo)注商戶位置 福州電銷機器人源代碼 智能電銷機器人銷售話術(shù) 兗州電話外呼營銷系統(tǒng) 機器人外呼系統(tǒng)軟件存在問題 徐州ai電銷機器人原理 南京400電話怎樣辦理 企業(yè)智能外呼系統(tǒng)價格多少 沈陽營銷電銷機器人招商

主從配置
mongodb的master-slave模式配置方式如下
1.keyFile
生成key_file

 openssl rand -base64 741 > mongo_key

將mongo_key 分別置于master 和 slave mongodb user可以access的地方。
設(shè)置權(quán)限

chmod 700 mongo_key

設(shè)置

onwer chown mongodb:nogroup mongo_key

2.master配置
編輯/etc/mongodb.conf, 設(shè)置如下

master = true
keyFile = /path/to/mongo_key

3.slave 配置

slave = true
source = ip of master>
only = bookstore
keyFile = /usr/local/bookstore/mongo_key

如果只同步一個db,配置only項,如果多個DB需同步,注釋掉only項。
以上設(shè)置完畢后即可啟動master和slave了,如果配置有誤會啟動失敗,比如key_file權(quán)限不正確,具體錯誤可以查看/var/log/mongodb/mongodb.log。如無誤,即可在master上修改一些記錄進行驗證了。
4.配置更改
master-slave配置比較簡單,但要修改已經(jīng)運行正確的配置缺不是想象的那么簡單。例如要更改master地址,或者去除only配置。因為mongodb啟動時,會將配置寫入DB中,master的配置在local DB的slaves表中, slave的配置在local DB的sources表中。如果單獨更改conf文件,直接重啟會失敗,log中顯示和DB中的配置沖突。如果直接修改local DB,修改會很快被覆蓋。
5.操作辦法
取消slave配置重啟。即注釋掉slave = true這一行。
手動修改sources表,例如更改master 的ip或者去除only 項。
修改conf文件,打開slave = true,并修改其他項,例如更改master 的ip或者去除only 項。
再次重啟mongodb。
6.其他問題
手動強制同步:
如果slave因為特殊原因和master不同步,需要手動強制同步,方法為在slave上運行如下命令:

use admin
db.runCommand( { resync: 1 } )

如果數(shù)據(jù)落后較多,則需要較長時間。

主從同步要點解析
主服務(wù)器和從服務(wù)器必須開啟安全認(rèn)證:--auth, 主服務(wù)器和從服務(wù)器的admin數(shù)據(jù)庫中必須有全局用戶, 然后主服務(wù)器的local數(shù)據(jù)庫和從服務(wù)器的local數(shù)據(jù)均有名為repl且密碼相同的用戶名。
注:local:本地數(shù)據(jù)庫 這個數(shù)據(jù)庫不會同步,主要存放同步的信息。在MongoDB2.0.2版本測試時,從服務(wù)器的admin數(shù)據(jù)庫中沒有全局用戶時也能進行復(fù)制(Deven:我們就是采用這個方式,
從服務(wù)器admin數(shù)據(jù)庫沒有建立用戶),盡管admin中無用戶,客戶端連接此服務(wù)器不進行驗證(即--auth參數(shù)失效),但從服務(wù)器的--auth必須指定。既然啟用了--auth,就應(yīng)該在從服務(wù)器的admin中增加一個用戶。

首先要在master的local數(shù)據(jù)庫中創(chuàng)建名為repl的賬戶,并設(shè)置密碼;
從服務(wù)器上和master一樣 創(chuàng)建名為repl的賬戶,并設(shè)置和master上一樣的密碼;
然后創(chuàng)建一個全局賬戶(管理賬戶,開啟同步即可)
1.創(chuàng)建一個全局賬戶

> use admin
switched to db admin
> db.addUser("root","zhuima")
WARNING: The 'addUser' shell helper is DEPRECATED. Please use 'createUser' instead
Successfully added user: { "user" : "root", "roles" : [ "root" ] }

2.分別在master/slave的local數(shù)據(jù)庫下創(chuàng)建一個名為repl的賬戶,并設(shè)置密碼相同

> use local
switched to db local
> db.addUser("repl","zhuima")
WARNING: The 'addUser' shell helper is DEPRECATED. Please use 'createUser' instead
Successfully added user: { "user" : "repl", "roles" : [ "dbOwner" ] }

3.master配置文件

[root@redis ~]# sed -e '/^$/d;/^#/d' /etc/mongodb.conf 
bind_ip = 192.168.58.30
port = 27017
fork = true
pidfilepath = /var/run/mongodb/mongodb.pid
logpath = /var/log/mongodb/mongodb.log
dbpath =/mydata/data
journal = true
auth = true# 開啟認(rèn)證模式
master = true          # 指定該mongodb為master模式

4.slave配置文件

[root@localhost ~]$ sed -e '/^$/d;/^#/d' /etc/mongodb.conf 
bind_ip = 192.168.58.10
port = 27017
fork = true
pidfilepath = /var/run/mongodb/mongodb.pid
logpath = /var/log/mongodb/mongodb.log
dbpath = /mydata/data
journal = true
auth = true  # 開啟認(rèn)證模式
slave = true  # 指定該mongodb為slave模式
source = 192.168.58.30:27017  # 指定master服務(wù)器

5.檢查同步情況

> db.printReplicationInfo()
this is a slave, printing slave replication info.
source:  192.168.58.30:27017
 syncedTo: Fri Jul 18 2014 10:22:31 GMT+0200 (CEST)
 = 22 secs ago (0.01hrs)  # 這個是指延遲時長

您可能感興趣的文章:
  • MongoDB的主從復(fù)制及副本集的replSet配置教程
  • MongoDB在不同主機間復(fù)制數(shù)據(jù)庫和集合的教程
  • MongoDB入門教程之主從復(fù)制配置詳解
  • MongoDB 主從復(fù)制實例講解
  • 詳解mongoDB主從復(fù)制搭建詳細(xì)過程
  • mongodb主從復(fù)制_動力節(jié)點Java學(xué)院整理
  • MongoDB復(fù)制集原理詳解
  • Mongodb 副本集搭建問題總結(jié)及解決辦法
  • Mongodb副本集和分片示例詳解
  • MongoDB副本集丟失數(shù)據(jù)的測試實例教程
  • MongoDB 復(fù)制(副本集)學(xué)習(xí)筆記

標(biāo)簽:鶴崗 昭通 景德鎮(zhèn) 大理 丹東 吉安 本溪 邯鄲

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MongoDB的Master-Slave主從模式配置及主從復(fù)制要點解析》,本文關(guān)鍵詞  MongoDB,的,Master-Slave,主從,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MongoDB的Master-Slave主從模式配置及主從復(fù)制要點解析》相關(guān)的同類信息!
  • 本頁收集關(guān)于MongoDB的Master-Slave主從模式配置及主從復(fù)制要點解析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    思茅市| 土默特左旗| 林州市| 日土县| 南平市| 垦利县| 定陶县| 铜鼓县| 密云县| 河北区| 得荣县| 天全县| 西峡县| 江华| 奉贤区| 乳山市| 方山县| 阜南县| 林周县| 神池县| 崇文区| 报价| 繁峙县| 垦利县| 休宁县| 嘉禾县| 定远县| 临邑县| 兰考县| 灵川县| 海阳市| 通州市| 黔西县| 都昌县| 玉龙| 沙坪坝区| 武冈市| 岫岩| 伊金霍洛旗| 泸水县| 安溪县|