13,mongodb(3.4版本)的副本集的设置

4,mongodb副本集的搭建

三台机器,编辑三台机器的配置文件,更改或增加:

192.168.133.130(primary)  

192.168.133.132(secondary)

192.168.133.133(secondary)

第一步:设置三台机器的 /etc/mongod.conf 文件

第二步:连接主,在主上运行命令mongo

>use admin

>config={_id:"aminglinux",members:[{_id:0,host:"192.168.133.130:27017"},{_id:1,host:"192.168.133.132:27017"},{_id:2,host:"192.168.133.133:27017"}]}

>rs.initiate(config)

 rs.status() //查看状态

 如果两个从上的状态为"stateStr" : "STARTUP", 则需要进行如下操作

> var config={_id:"aminglinux",members:[{_id:0,host:"192.168.133.130:27017"},{_id:1,host:"192.168.133.132:27017"},{_id:2,host:"192.168.133.133:27017"}]}

 >rs.reconfig(config)

此时再次查看rs.status()会发现从的状态变为SECONDARY

第三步:mongodb副本集的测试,在主上建库,建集合

 >use mydb

 >db.acc.insert({AccountID:1,UserName:"123",password:"123456"})

 >show dbs

 从上查看

 >show dbs  

 若出现错误Error: listDatabases failed:{ "note" : "from execCommand", "ok" : 0, "errmsg" : "not master" },需要执行

 >rs.slaveok()

5,副本集更改权重模拟主宕机

默认三台机器权重都为1,如果任何一个权重设置为比其他的高,则该台机器马上切换为primary角色,所以我们预设三台机器的权重分别为:130:3,           132:2,      133:1

在主上执行

cfg = rs.conf()

cfg.members[0].priority = 3

cfg.members[1].priority = 2

cfg.members[2].priority = 1

rs.reconfig(cfg)

 这样的话,第二个节点将会成为候选主节点。

 

posted @ 2020-12-15 22:46  pwcc  阅读(210)  评论(0)    收藏  举报