mongodb 副本集去salve节点维护

使用的是mongodb 3.2,需要对其中的一个slave节点扩充目录,正确的做法如下

1、primary 节点上 去slave节点负载

# mongo
MongoDB shell version: 3.2.6
connecting to: test
monset:PRIMARY> use admin
switched to db admin
monset:PRIMARY> db.auth('root','123456');
1
monset:PRIMARY> rs.remove("192.168.56.100:27017")

2、slave 节点上观察mongdb日志

 # tail -f /var/log/mongodb/mongod.log

这时看以看到,该slave节点的连接降到0

3、slave节点停止mongodb服务

# service mongod stop

4、slave节点 使用 linux 的lvs 扩充 mongodb 的数据文件

5、slave节点启动mongdb

# service mongod start

6、primary 节点重新添加slave节点
如果slave节点停机比较短、或者oplog比较大,在可同步的时间范围内,直接加节点

# mongo
MongoDB shell version: 3.2.6
connecting to: test
monset:PRIMARY> use admin
switched to db admin
monset:PRIMARY> db.auth('root','123456');
1
monset:PRIMARY> rs.add("192.168.56.100:27017")
monset:PRIMARY> rs.staus()
monset:PRIMARY> rs.conf()

7、slave 节点上观察mongdb日志

 # tail -f /var/log/mongodb/mongod.log

可以看到已经有连接了

8、primary 节点上调整各slave节点的一些属性

monset:PRIMARY> conf=rs.conf();
monset:PRIMARY> conf.members[5].priority=2;
monset:PRIMARY> conf.members[5].hidden=false;
monset:PRIMARY> rs.reconfig(conf); 

priority 属性代表该节点的被选举为primay的优先级别,数字越大,优先级越高
hidden 属性代表该节点是否被隐藏,如果设置为 true,应该首先将 priority 置为0

原文地址:https://www.cnblogs.com/ctypyb2002/p/9793066.html