mongo 运维篇

由于在我们的Mongodb一项目中,访问量会突然暴增两倍,故需要进行一系列的扩容,并且由于我们使用的是1.8.3-pre版本,还需要把他升级为1.8.3,所以在这次调整中,涉及到Mongodb的扩容、升级、主库切换等等一系列运维工作,也幸好有这样的机会,才让我更能掌握Mongodb,下面贴出操作的一些命令及一些步骤,以做后续查看!


1、利用另外一台secondary机器传送数据

2、在新机器上中配置文件中添加 fastsync=true 配置(当需要从有数据中启动节点,那么必须加上 fastsync=true, 否则启动会报错,如果是从主库直接同步所有数据,那么就不需要添加这个参数)

3、启动后,在primary节点中添加节点

如: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秒中切换到备上!


附:http://www.mongodb.org/display/DOCS/Replica+Set+Commands

rs.help()                       show help
rs.status()                     { replSetGetStatus : 1 }
rs.initiate()                   { replSetInitiate : null } initiate
                                    with default settings
rs.initiate(cfg)                { replSetInitiate : cfg }
rs.add(hostportstr)             add a new member to the set
rs.add(membercfgobj)            add a new member to the set
rs.addArb(hostportstr)          add a new member which is arbiterOnly:true
rs.remove(hostportstr)          remove a member from the set
rs.stepDown()                   { replSetStepDown : true }
rs.conf()                       return configuration from local.system.replset
db.isMaster()                   check who is primary
关于mongodb replica set 的安装,请参考 http://hi.baidu.com/ytjwt/blog/item/7ffbf79849782e106f068c17.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值