mongodb 修改oplog的大小
-
关闭mongd的实例, 如果是主那么需要先进行切换(rs.stepDown())
db.shutdownServer()
或
/usr/local/mongodb-3.0.15/bin/mongod -f /etc/mongod_5011.cnf --shutdown -
以单实例启动mongod
修改配置文件为单实例
usr/local/mongodb-3.0.15/bin/mongod -f /etc/mongod_5011.cnf -
重新创建oplog size 的大小
use local
db = db.getSiblingDB(‘local’)
db.temp.drop()
db.temp.save( db.oplog.rs.find( { }, { ts: 1, h: 1 } ).sort( {$natural : -1} ).limit(1).next() )
db.temp.find() -
删除现有的oplog(如果是复制集无需备份oplog, 假如真的坏了还可以从另一个节点复制,或者重新同步数据)
db = db.getSiblingDB(‘local’)
db.oplog.rs.drop() -
创建一个新的oplog
db.runCommand( { create: “oplog.rs”, capped: true, size: (150 * 1024 * 1024 * 1024) } )
150 表示你设置oplog的oplog 的大小,单位是GB, 上面我设置oplog 大小为 150GB -
插入最后一条oplog数据到新的oplog
db.oplog.rs.save( db.temp.findOne() )
db.oplog.rs.find() -
以复制集的模式重启该实例
db.shutdownServer()
或
/usr/local/mongodb-3.0.15/bin/mongod -f /etc/mongod_5011.cnf --shutdown
修改配置文件为复制集模式
/usr/local/mongodb-3.0.15/bin/mongod -f /etc/mongod_5011.cnf
参考官方文档
https://docs.mongodb.com/v3.0/tutorial/change-oplog-size/