溫馨提示×

溫馨提示×

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

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

mongodb主從復(fù)制及副本集的部署

發(fā)布時(shí)間:2020-07-08 16:34:04 來源:網(wǎng)絡(luò) 閱讀:1594 作者:webseven 欄目:MongoDB數(shù)據(jù)庫

一.mongodb配置參數(shù)介紹:

[root@host11 tmp]# cat  /etc/mongod.conf 


#以守護(hù)進(jìn)程的方式運(yùn)行

fork=true


#設(shè)置db的路徑

dbpath=/usr/local/mongodb/data/db


#設(shè)置日志路徑

logpath=/usr/local/mongodb/data/log/mongod.log

#logappend:寫日志的模式:設(shè)置為true為追加。默認(rèn)是覆蓋。如果未指定此設(shè)置,啟動(dòng)時(shí)MongoDB的將覆蓋現(xiàn)有的日志文件。

logappend=true


#設(shè)置端口號

port=27017


#在服務(wù)的端口號加上1000的端口上啟動(dòng)一個(gè)web服務(wù)器

rest=true


#打開權(quán)限控制體系

#auth=true

二.部署mongodb主從復(fù)制:

1.創(chuàng)建master和slave的配置文件:

[root@host11 tmp]# cat /etc/mongod_master.conf 

logpath=/usr/local/mongodb/data/log/mongod_master.log

logappend=true

fork=true

dbpath=/usr/local/mongodb/data/master

port=10000

rest=true

master=true

#auth=true

#slaveok=true

[root@host11 tmp]#

[root@host11 tmp]# cat /etc/mongod_slave.conf

logpath=/usr/local/mongodb/data/log/mongod_slave.log

logappend=true

fork=true

dbpath=/usr/local/mongodb/data/slave

port=10001

rest=true

slave=true

#auth=true

source=127.0.0.1:10000

2.啟動(dòng)主從進(jìn)程;

[root@host11 tmp]#mkdir -pv /usr/local/mongodb/data/master

[root@host11 tmp]#mkdir -pv /usr/local/mongodb/data/slave

[root@host11 tmp]mongod -f /etc/mongod_master.conf 

[root@host11 tmp]mongod -f /etc/mongod_slave.conf 

3.檢查主從狀態(tài):

[root@host11 tmp]# mongo localhost:10000

> db.isMaster();

{

"ismaster" : true,

"maxBsonObjectSize" : 16777216,

"maxMessageSizeBytes" : 48000000,

"maxWriteBatchSize" : 1000,

"localTime" : ISODate("2016-02-28T11:46:54.199Z"),

"maxWireVersion" : 4,

"minWireVersion" : 0,

"ok" : 1

}

> db.printReplicationInfo();

configured oplog size:   990MB

log length start to end: 23821secs (6.62hrs)

oplog first event time:  Sun Feb 28 2016 13:05:17 GMT+0800 (CST)

oplog last event time:   Sun Feb 28 2016 19:42:18 GMT+0800 (CST)

now:                     Sun Feb 28 2016 19:42:20 GMT+0800 (CST)

> db.printSlaveReplicationInfo();

local.sources is empty; is this db a --slave?

> db.getReplicationInfo();

{

"logSizeMB" : 990,

"usedMB" : 0.14,

"timeDiff" : 23871,

"timeDiffHours" : 6.63,

"tFirst" : "Sun Feb 28 2016 13:05:17 GMT+0800 (CST)",

"tLast" : "Sun Feb 28 2016 19:43:08 GMT+0800 (CST)",

"now" : "Sun Feb 28 2016 19:43:18 GMT+0800 (CST)"

}

[root@host11 tmp]# mongo localhost:10001

> db.printReplicationInfo();

this is a slave, printing slave replication info.

source: 127.0.0.1:10000

syncedTo: Sun Feb 28 2016 19:44:18 GMT+0800 (CST)

4 secs (0 hrs) behind the freshest member (no primary available at the moment)


三.副本集的部署:

1.創(chuàng)建各node節(jié)點(diǎn)的配置文件:

[root@host11 tmp]# cat /etc/mongod_node1.conf 

logpath=/usr/local/mongodb/data/log/mongod_node1.log

logappend=true

fork=true

dbpath=/usr/local/mongodb/data/node1

port=20001

rest=true

#auth=true

#slaveok=true

replSet=myrepl

[root@host11 tmp]# cat /etc/mongod_node2.conf 

logpath=/usr/local/mongodb/data/log/mongod_node2.log

logappend=true

fork=true

dbpath=/usr/local/mongodb/data/node2

port=20002

rest=true

#auth=true

#slaveok=true

replSet=myrepl

[root@host11 tmp]# cat /etc/mongod_node3.conf 

logpath=/usr/local/mongodb/data/log/mongod_node3.log

logappend=true

fork=true

dbpath=/usr/local/mongodb/data/node3

port=20003

rest=true

#auth=true

#slaveok=true

replSet=myrepl

[root@host11 tmp]# 

2.配置并啟動(dòng)各node服務(wù);

[root@host11 tmp]#mkdir -pv /usr/local/mongodb/data/node1

[root@host11 tmp]#mkdir -pv /usr/local/mongodb/data/node2

[root@host11 tmp]#mkdir -pv /usr/local/mongodb/data/node3

[root@host11 tmp]#mongod -f /etc/mongod_node1.conf 

[root@host11 tmp]#mongod -f /etc/mongod_node2.conf 

[root@host11 tmp]#mongod -f /etc/mongod_node2.conf 

登錄mongod:

#設(shè)置副本集變量:

> config = { _id:"myrepl", members:[{_id:0,host:"127.0.0.1:20001"},{_id:1,host:"127.0.0.1:20002"},{_id:2,host:"127.0.0.1:20003"}]};

#初始化副本集配置

> rs.initiate(config);


3.檢查各node節(jié)點(diǎn)狀態(tài);

#查看副本集的狀態(tài)

> rs.status();

#刪除節(jié)點(diǎn):

rs.remove("127.0.0.1:20001");

rs.status();

#添加節(jié)點(diǎn):

rs.add("127.0.0.1:20001");

rs.status();

四.至此mongo主從及副本集群部署完成;


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

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

AI