更改 mongodb oplog 大小步骤
oplog 即 opreations 的缩写,存储在local数据库中。
oplog 中新操作会自动替换旧的操作,以保证oplog不会超过预设的大小。
默认情况下oplog大小会占用5%的磁盘空间。尽量保证主节点的oplog 足够大,避免操作记录被覆盖。
(1)首先关闭从节点服务器,从复制集中退出,暂时成为单实例
abc:SECONDARY> use admin
switched to db admin
abc:SECONDARY> db.shutdownServer() #关闭服务
server should be down...
[root@localhost logs]# vim /etc/mongod2.conf #更改实例2 的配置文件
port: 27028 #端口号更改
#replication:
# replSetName: abc #注销复制集
(2)以端口号为 27028 进入数据库
[root@localhost logs]# mongod -f /etc/mongod2.conf
about to fork child process, waiting until server is ready for connections.
forked process: 40575
child process started successfully, parent exiting
[root@localhost logs]# mongo --port 27028
MongoDB shell version v3.6.7
connecting to: mongodb://127.0.0.1:27028/
(3)对oplog 进行完全备份
[root@localhost logs]# mongodump --port 27028 --db local --collection 'oplog.rs'
2018-09-13T15:30:19.876+0800 writing local.oplog.rs to
2018-09-13T15:30:19.881+0800 done dumping local.oplog.rs (376 documents)
(4)删除原有的日志文件
> use local
switched to db local
> show tables
me
oplog.rs
replset.election
replset.minvalid
replset.oplogTruncateAfterPoint
startup_log
system.replset
system.rollback.id
> db.oplog.rs.drop()
true
> db.runCommand({create:"oplog.rs",capped:true,size:(2 * 1024 * 1024 * 1024)})
#原型创建 oplog.rs 指定大小
{ "ok" : 1 }
> use admin
switched to db admin
> db.shutdownServer() #关闭服务
server should be down...
(5)把独立的实例 mongodb2 恢复到复制集,登录。
> exit
bye
[root@localhost logs]# vim /etc/mongod2.conf #把独立的实例 mongodb2 恢复到复制集
port: 27018 #把端口号改回为27018
replication: #启用复制集
replSetName: abc
oplogSizeMB: 2048 #指定 oplog 大小
[root@localhost logs]# mongod -f /etc/mongod2.conf
about to fork child process, waiting until server is ready for connections.
forked process: 40835
child process started successfully, parent exiting
[root@localhost logs]# mongo --port 27018
MongoDB shell version v3.6.7
connecting to: mongodb://127.0.0.1:27018/
abc:SECONDARY> rs.printReplicationInfo()
configured oplog size: 2048MB
log length start to end: 90secs (0.03hrs)
oplog first event time: Thu Sep 13 2018 15:44:15 GMT+0800 (CST)
oplog last event time: Thu Sep 13 2018 15:45:45 GMT+0800 (CST)
now: Thu Sep 13 2018 15:45:54 GMT+0800 (CST)