mongo oplog的修改

本文介绍在不同版本的 MongoDB 中调整 Oplog 大小的方法。在 3.4 版本及以前,需要通过关闭节点、备份并重新设置 Oplog 的方式来调整大小。而在 3.6 版本以后,可以通过简单的命令直接调整 Oplog 的大小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 在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})



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值