分类: NOSQL
2013-03-14 15:23:27
由于在我们的Mongodb一项目中,访问量会突然暴增两倍,故需要进行一系列的扩容,并且由于我们使用的是1.8.3-pre版本,还需要把他升级为1.8.3,所以在这次调整中,涉及到Mongodb的扩容、升级、主库切换等等一系列运维工作,也幸好有这样的机会,才让我更能掌握Mongodb,下面贴出操作的一些命令及一些步骤,以做后续查看!
如:rs.add("10.73.24.171:9005") 当我们看到变为secondary后,就一切正常,可以正常提供线上服务了
4、通过rs.conf()命令查看现在的节点信息(需要admin库密码权限)
5、rs.remove()删除节点
6、添加arbiter节点:rs.addArb("10.73.24.171:19003")
7、添加延时备份机器:rs.add({_id:4,host:"10.55.22.176:9004",priority:0,slaveDelay:3600});
8、当出现这个错误时:replSet error RS102 too stale to catch up,我们可以db.printReplicationInfo() 查看主库、从库的oplog信息;
以上为我切换过程中用到的大部分命令,主要还是replica set管理工具,如果能掌握,那么升级、扩容、主库切换都能快速进行!
这次在运维中,由于机器不够,去掉了延时备份角色,只做了主-->备-->2arbiter的一个高可用集群,当主库失效时候,基本能在10秒中切换到备上!
附:
rs.help() show helpshard0:PRIMARY> cfg = rs.conf()
{
"_id" : "shard0",
"version" : 2,
"members" : [
{
"_id" : 0,
"host" : "172.16.1.1:29017"
},
{
"_id" : 1,
"host" : "172.16.1.2:29017",
"priority" : 2
},
{
"_id" : 2,
"host" : "172.16.1.3:29017",
"priority" : 3
}
]
}
shard0:PRIMARY> cfg.members[0].priority = 10
10
shard0:PRIMARY> rs.reconfig(cfg)