自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MongoDB高可用方案之主從復(fù)制

運(yùn)維 數(shù)據(jù)庫運(yùn)維 MongoDB
MongoDB 是當(dāng)前比較流行的文檔型數(shù)據(jù)庫,其擁有易使用、易擴(kuò)展、功能豐富、性能卓越等特性。 主節(jié)點(diǎn)會記錄寫有關(guān)的操作,讀操作不記錄。這些操作記錄在local數(shù)據(jù)庫中的oplog.admin和slave兩個(gè)集合。slave記錄從節(jié)點(diǎn)信息。

 [[400571]]

MongoDB 是當(dāng)前比較流行的文檔型數(shù)據(jù)庫,其擁有易使用、易擴(kuò)展、功能豐富、性能卓越等特性。

主節(jié)點(diǎn)會記錄寫有關(guān)的操作,讀操作不記錄。這些操作記錄在local數(shù)據(jù)庫中的oplog.admin和slave兩個(gè)集合。slave記錄從節(jié)點(diǎn)信息。

從節(jié)點(diǎn)會定時(shí)去連接主節(jié)點(diǎn),獲取主節(jié)點(diǎn)的操作日志從而執(zhí)行主節(jié)點(diǎn)一樣的操作,從而達(dá)到數(shù)據(jù)同步。從節(jié)點(diǎn)的local數(shù)據(jù)庫會有 source、me兩個(gè)集合。source記錄主節(jié)點(diǎn)信息,me記錄從節(jié)點(diǎn)標(biāo)識。

下面看一下怎么一步步搭建MongoDB的主從復(fù)制節(jié)點(diǎn):

準(zhǔn)備兩臺機(jī)器 10.43.159.56 和 10.43.159.58。10.43.159.56當(dāng)作主節(jié)點(diǎn), 10.43.159.58作為從節(jié)點(diǎn)。

分別下載MongoDB安裝程序包。在10.43.159.56上建立文件夾/data/MongoDBtest/master,10.43.159.58建立文件夾/data/MongoDBtest/slave。

在10.43.159.56啟動(dòng)MongoDB主節(jié)點(diǎn)程序。注意后面的這個(gè) “ –master ”參數(shù),標(biāo)示主節(jié)點(diǎn):

mongod –dbpath /data/MongoDBtest/master–master

輸出日志如下,成功:

[initandlisten] MongoDB starting :pid=18285 port=27017 dbpath=/data/MongoDBtest/master master=1

在10.43.159.58啟動(dòng)MongoDB從節(jié)點(diǎn)程序。關(guān)鍵配置:指定主節(jié)點(diǎn)ip地址和端口 –source 10.43.159.56:27017 和標(biāo)示從節(jié)點(diǎn) –slave參數(shù):

mongod –dbpath /data/MongoDBtest/slave–slave –source 10.43.159.56:27017

輸出日志如下,成功:

[initandlisten] MongoDB starting : pid=17888port=27017 dbpath=/data/MongoDBtest/slave slave=1

日志顯示從節(jié)點(diǎn)從主節(jié)點(diǎn)同步復(fù)制數(shù)據(jù) :

[replslave] repl: from host: 10.43.159.56:27017

這樣,主從結(jié)構(gòu)的MongoDB集群就搭建好了,是不是很簡單?

下面我們來看看這個(gè)集群能做什么?先登錄到從節(jié)點(diǎn)shell上,執(zhí)行插入數(shù)據(jù):

mongo 127.0.0.1:27017

> db.testdb.insert({"test3":"testval3"});

not master

可以看到 MongoDB的從節(jié)點(diǎn)是只能讀,不能執(zhí)行寫操作的。

那么如果主服務(wù)器掛掉,從服務(wù)器可以接替工作嗎?

可以試一下,強(qiáng)制關(guān)掉主節(jié)點(diǎn)上的MongoDB進(jìn)程,登錄在從節(jié)點(diǎn)上,再次執(zhí)行插入數(shù)據(jù):

> db.testdb.insert({"test3":"testval3"});

not master

看來從節(jié)點(diǎn)并沒有自動(dòng)接替主節(jié)點(diǎn)的工作,那就只有人工處理了,停止從節(jié)點(diǎn),再以master的方式啟動(dòng)從節(jié)點(diǎn),由于從節(jié)點(diǎn)上數(shù)據(jù)跟主節(jié)點(diǎn)一樣,此時(shí)從節(jié)點(diǎn)是可以替代主節(jié)點(diǎn)工作的,這屬于人工切換。

此外,我們可以搭建多個(gè)從節(jié)點(diǎn),實(shí)現(xiàn)數(shù)據(jù)庫的讀寫分離,比如主節(jié)點(diǎn)負(fù)責(zé)寫,多個(gè)從節(jié)點(diǎn)負(fù)責(zé)讀,對于移動(dòng)APP,絕大部分操作都是讀操作,可以實(shí)現(xiàn)負(fù)荷分擔(dān)。

責(zé)任編輯:武曉燕 來源: 后端Q
相關(guān)推薦

2018-04-08 15:20:15

數(shù)據(jù)庫MySQL主從復(fù)制

2018-07-06 09:58:38

Redis高可用主從復(fù)制

2019-05-10 15:30:18

數(shù)據(jù)庫主從復(fù)制MySQL

2023-03-19 11:53:27

2023-03-19 22:38:12

邏輯復(fù)制PostgreSQL

2023-07-03 08:57:45

Master服務(wù)TCP

2023-09-24 14:32:15

2024-07-04 08:00:24

2025-02-10 10:55:16

2024-03-01 18:33:59

MySQL節(jié)點(diǎn)數(shù)據(jù)

2021-06-08 07:48:27

MySQL主從配置

2019-12-05 10:00:03

架構(gòu)Redis服務(wù)器

2019-10-17 09:05:21

MySQL數(shù)據(jù)庫高可用

2023-12-25 08:02:09

2017-09-05 16:00:49

MySQL主從復(fù)制備份

2017-10-11 15:40:20

MySQL主從復(fù)制拓?fù)浣Y(jié)構(gòu)

2022-12-20 08:46:41

MySQL主從復(fù)制

2025-01-15 15:47:36

2021-03-19 11:33:42

MySQL數(shù)據(jù)庫備份

2020-06-08 08:20:11

Redis高可用集群
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號