mongo oplog的修改

一、 在mongo 3.4版本之前修改oplog的大小的方式



---关闭节点
mongod --dbpath /srv/mongodb --shutdown
如果这个节点是primary ,那么会出发一个failover,另外一个节点的replication会成为主节点。

---用单实例重启关闭的节点,换一个端口和去掉shard,用单实例启动
mongod --port 37017 --dbpath /srv/mongodb

--备份现有oplog log
mongodump --db local --collection 'oplog.rs' --port 37017


---登录单实例
mongo --port 37017

---保存最新的oplog 条目
use local
db.temp.save( db.oplog.rs.find().sort( {$natural : -1} ).limit(1).next() )
db.temp.find()

---重新设置oplog
use local
db.oplog.rs.drop()

--创建新的 oplog, 这里需要注意oplog size
db.runCommand( { create : "oplog.rs", capped : true, size : 2147483648 } )

--保存新的数据到oplog中
db.oplog.rs.save( db.temp.findOne() )
db.oplog.rs.find()


--重启实例,恢复到集群中
mongod --dbpath /srv/mongodb --shutdown
mongod --replSet rs0 --dbpath /srv/mongodb

rs.stepDown()


二、在3.6版本 之后,修改oplog变的简单了很多

---登录副本集
mongo --host <hostname>:<port>


---确定当前oplog日志的大小
use local
db.oplog.rs.stats().maxSize


---修改当前oplog的大小为16G
db.adminCommand({replSetResizeOplog: 1, size: 16000})



猜你喜欢

转载自blog.csdn.net/wll_1017/article/details/80224900