溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mongodb 添加復(fù)制集

發(fā)布時(shí)間:2020-06-23 12:34:31 來源:網(wǎng)絡(luò) 閱讀:465 作者:N九 欄目:MongoDB數(shù)據(jù)庫

說明:
復(fù)制集是額外的數(shù)據(jù)副本,是跨多個(gè)服務(wù)器同步數(shù)據(jù)的過程,復(fù)制集提供了冗余并增加了數(shù)據(jù)可用性,通過復(fù)制集可以對(duì)硬件故障和中斷的服務(wù)進(jìn)行恢復(fù)。其優(yōu)點(diǎn)如下:
1 . 讓數(shù)據(jù)更安全。
2 . 高數(shù)據(jù)可用性。
3 . 災(zāi)難恢復(fù)。
4 . 無停機(jī)維護(hù)(如備份、索引重建、故障轉(zhuǎn)移)。
5 . 讀綻放(額外的副本讀?。?。
6 . 副本集對(duì)應(yīng)用程序是透明的。

.
.
實(shí)驗(yàn)環(huán)境:
mongodb 添加復(fù)制集
.
.
實(shí)驗(yàn)步驟如下:(先安裝好mongodb
.
.
1 . 關(guān)閉防火墻。

systemctl stop firewalld.service
setenforce 0

添加3個(gè)實(shí)例,為這些實(shí)例創(chuàng)建數(shù)據(jù)存儲(chǔ)目錄與日志存儲(chǔ)目錄,以及提權(quán)

mkdir -p /data/mongodb/mongodb{2,3,4}
mkdir -p /data/mongodb/logs
touch /data/mongodb/logs/mongodb{2,3,4}.log
chmod 777 /data/mongodb/logs/*.log

mongodb 添加復(fù)制集
.
.
2 .進(jìn)入配置文件,設(shè)置數(shù)據(jù)類型名稱。

vim /etc/mongod.conf
  replication:
     replSetName: abcrs     #設(shè)置數(shù)據(jù)類型名稱

mongodb 添加復(fù)制集
.
.
3 . 更改配置文件后,把服務(wù)刷新下。

mongod -f /etc/mongod.conf --shutdown    #關(guān)閉mongod
mongod -f /etc/mongod.conf        #開啟mongod

.
.
4 . 將配置文件復(fù)制一份,并更改相應(yīng)的參數(shù),作為mongod2的配置文件。

cp -p /etc/mongod.conf /etc/mongod2.conf   #復(fù)制配置文件,并重命名
vim /etc/mongod2.conf
 path: /data/mongodb/logs/mongodb2.log     #日志文件存放位置
  ....
  dbPath: /data/mongodb/mongodb2    #數(shù)據(jù)文件存放位置
  ....
  port: 27018   #端口號(hào)

mongodb 添加復(fù)制集
.
.
5 . 同樣更改另外兩個(gè)配置文件。

cp -p /etc/mongod2.conf /etc/mongod3.conf 
cp -p /etc/mongod2.conf /etc/mongod4.conf

mongodb 添加復(fù)制集
.
.
6 . 更改好后,啟動(dòng)實(shí)例。

mongod -f /etc/mongod2.conf 
mongod -f /etc/mongod3.conf 
mongod -f /etc/mongod4.conf    #啟動(dòng)實(shí)例

查看一下端口是否開啟。
netstat -ntap #查看開啟端口
mongodb 添加復(fù)制集
此時(shí)就可以進(jìn)入實(shí)例查看。

mongo --port 27018
mongo --port 27019
mongo --port 27020  #進(jìn)入實(shí)例查看

.
.
7 .配置三個(gè)節(jié)點(diǎn)復(fù)制集。

db.stats()  #查看復(fù)制集
cfg={"_id":"abcrs","members":[{"_id":0,"host":"192.168.200.132:27017"},{"_id":1,"host":"192.168.200.132:27018"},{"_id":2,"host":"192.168.200.132:27019"}]}    #配置節(jié)點(diǎn)服務(wù)器相關(guān)聯(lián)端口

mongodb 添加復(fù)制集
.
.
8 . 啟動(dòng)復(fù)制集。
rs.initiate(cfg) #啟動(dòng)復(fù)制集
mongodb 添加復(fù)制集
.
.
9 . 可以進(jìn)行節(jié)點(diǎn)的添加與刪除,這里就不做演示了。代碼如下:

rs.add("192.168.200.132:27020") #添加節(jié)點(diǎn)
rs.remove("192.168.200.132:27020")  #刪除節(jié)點(diǎn)

.
.
10 . 節(jié)點(diǎn)發(fā)生故障是不可避免的,故障轉(zhuǎn)移也必不可少。

ps aux | grep mongod    #查看開啟節(jié)點(diǎn)
kill  6233   #關(guān)掉一個(gè)進(jìn)程節(jié)點(diǎn)

mongodb 添加復(fù)制集
此時(shí)的主節(jié)點(diǎn)就會(huì)切換到一個(gè)正常的節(jié)點(diǎn)上,故障轉(zhuǎn)移。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI