ITPub博客

首页 > 数据库 > NoSQL > mongodb副本集添加删除节点

mongodb副本集添加删除节点

原创 NoSQL 作者:贺子_DBA时代 时间:2019-12-15 00:54:08 1 删除 编辑
环境介绍:三个节点的mongodb 副本集
10.9.21.114:   27017 主节点
10.9.21.178:   27017 secondary
10.9.21.179:   27017 secondary
需要给副本集添加个新的节点 10.9.21.115: 27017
方法一:rs.add("10.9.21.115:27017")直接添加
首先介绍下命令rs.add方法,该方法适合于当数据量比较小的时候,因为这种方法需要进行initial sync来同步全量的数据,这势必会造成网络和io上的压力,并且一定要在业务量低峰期执行操作,因为如果业务量大的时候执行,同步数据的时间段内的oplogs可能会被覆盖而导致同步失败!具体initial sync的过程请参考: http://blog.itpub.net/29654823/viewspace-2668577/

一:首先在21.115这台机器上安装上同版本的mongodb,
配置文件copy 原有副本集上的一份,并进行相应的调整,然后启动mongodb,这些操作略过:
/usr/bin/mongodb/bin/mongod  -f /etc/mongod.conf
二:在原有副本集的主节点进行操作:
2.1添加数据节点,
rs.add("10.9.21.115:27017"); ------添加节点
rs.status()  ----验证是否添加成功
查看是否有延迟,如下:
MongoDB Enterprise liuhe_rs:PRIMARY> rs.printSlaveReplicationInfo()
source: 10.9.21.178:27017
syncedTo: Tue Nov 26 2019 21:43:22 GMT+0800 (CST)
0 secs (0 hrs) behind the primary
source: 10.9.21.114:27017
syncedTo: Tue Nov 26 2019 21:43:22 GMT+0800 (CST)
0 secs (0 hrs) behind the primary
source: 10.9.21.115:27017
syncedTo: Tue Nov 26 2019 21:43:22 GMT+0800 (CST)
0 secs (0 hrs) behind the primary
如果新添加的状态为STARTUP2,那么你可以重启下新节点,
use  admin
db.shutdownServer()
/usr/bin/mongodb/bin/mongod  -f /etc/mongod.conf
2.2删除数据节点
rs.remove("10.9.21.115:27017");
再次查看发现没有了115这个同步信息了
MongoDB Enterprise liuhe_rs:PRIMARY> rs.printSlaveReplicationInfo()
source: 10.9.21.178:27017
syncedTo: Tue Nov 26 2019 21:47:12 GMT+0800 (CST)
8 secs (0 hrs) behind the primary
source: 10.9.21.114:27017
syncedTo: Tue Nov 26 2019 21:47:12 GMT+0800 (CST)
8 secs (0 hrs) behind the primary
MongoDB Enterprise liuhe_rs:PRIMARY>
2.3添加仲裁节点
rs.addArb("10.9.21.115:27017");
或者
rs.add({host:"10.9.21.115:27017",arbiterOnly:true})
rs.status()
{
"_id" : 3,
"name" : "10.9.21.115:27017",
"health" : 1,
"state" : 7,
"stateStr" : "ARBITER",
"uptime" : 165,
"lastHeartbeat" : ISODate("2019-11-26T13:55:21.391Z"),
"lastHeartbeatRecv" : ISODate("2019-11-26T13:55:21.150Z"),
"pingMs" : NumberLong(0),
"lastHeartbeatMessage" : "",
"syncingTo" : "",
"syncSourceHost" : "",
"syncSourceId" : -1,
"infoMessage" : "",
"configVersion" : 6
}
2.4添加hidden节点
PRIMARY>rs.add({host:"10.9.21.115:27017",priority:0,hidden:true})


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29654823/viewspace-2668649/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
10年数据库管理员从业经历,熟悉Oracle、mysql、tidb、oceanbase、redis、 mongodb 、python等技术栈,持有11g ocm 、mysql 5.7 ocp 、tidb 5.0 ptcp、tidb 6.0 ptca、oceanbase obcp等

注册时间:2014-05-12

  • 博文量
    327
  • 访问量
    2148929