更改 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)