六、生产环境维护复制集
1. 需要停服务维护时,请以单机模式启动
rs.stepDown(10) # 主节点降级
rs.freeze(600) # 冻结600秒
kill -2 进程号
进配置文件注释#replSet
mongod -f 配置文件
此时就是以单机模式启动
2. 生产维护复制集的场景:
1)修改复制集成员属性 rs.reconfig()
2)人工干预选举:修改priority值;rs.freeze();rs.stepDown()
3)创建索引:比较耗费数据库性能,最好单机模式操作
db.表名.ensureIndex({background:true})
4)调整oplog大小
⑴ 将成员以单机模式启动:见上栗1.
⑵ 将oplog最新的一条操作保存到临时表中:
db.temp.save(db.oplog.rs.find().sort({$natural:-1}).limit(1).next())
db.temp.find()
⑶ 删除原来的oplog.rs集合
db.oplog.rs.drop()
⑷ 以创建封顶表的方式创建新的oplog.rs
db.createCollection("oplog.rs",{capped:true, size:3*1024*1024*1024})
⑸ 将之前保存的原oplog.rs中最新的操作插入到新建的oplog.rs中
db.oplog.rs.save(db.temp.findOne())
⑹ 将单机模式的节点返回到复制集中
kill -2 进程号
进配置文件取消注释replSet
mongod -f 配置文件
⑺ 进入节点查看oplog大小
use local
db.oplog.rs.stats(1024*1024)
副本集