查看oplog使用情况和修改oplog大小
环境:
OS:Centos 7
db:4.4.22
1.查看当前的大小
myrepl:PRIMARY> db.getReplicationInfo()
{
"logSizeMB" : 10000,
"usedMB" : 10013.92,
"timeDiff" : 7801,
"timeDiffHours" : 2.17,
"tFirst" : "Fri Jul 14 2023 00:20:39 GMT-0400 (EDT)",
"tLast" : "Fri Jul 14 2023 02:30:40 GMT-0400 (EDT)",
"now" : "Fri Jul 14 2023 02:30:41 GMT-0400 (EDT)"
}
或是
myrepl:PRIMARY> use local
switched to db local
myrepl:PRIMARY> db.oplog.rs.stats().maxSize
NumberLong("10485760000")
我这里的大小是10GB,下面调整为1GB
2.修改oplog.rs大小
执行顺序:从节点-->主节点
myrepl:SECONDARY> use local
myrepl:SECONDARY> db.adminCommand({replSetResizeOplog:1, size: 1024});
{ "ok" : 1 }
myrepl:PRIMARY> use local
myrepl:PRIMARY> db.adminCommand({replSetResizeOplog:1, size: 1024});
{ "ok" : 1 }
仲裁节点不需要执行.
3.回收空间
从库
myrepl:SECONDARY> use local
myrepl:SECONDARY> db.runCommand({ "compact" : "oplog.rs" })
主库:
myrepl:PRIMARY> use local
myrepl:PRIMARY> db.runCommand({ "compact" : "oplog.rs",force:true })
主库执行需要加上force:true参数
4.重启是否失效
关闭顺序:仲裁节点-->从节点-->主节点
/usr/local/services/mongodb/bin/mongo localhost:29001
use admin
db.auth("test","test123"); ##仲裁节点不需要
db.shutdownServer()
启动
启动顺序:主节点-->从节点-->仲裁节点
/usr/local/services/mongodb/bin/mongod -f /home/middle/mongodb/conf/mongo.cnf
查看是否失效
/usr/local/services/mongodb/bin/mongo localhost:29001
myrepl:PRIMARY> use admin
myrepl:PRIMARY> db.auth("test","test123");
myrepl:PRIMARY> db.getReplicationInfo()
{
"logSizeMB" : 1024,
"usedMB" : 997.76,
"timeDiff" : 9542,
"timeDiffHours" : 2.65,
"tFirst" : "Fri Jul 14 2023 00:29:47 GMT-0400 (EDT)",
"tLast" : "Fri Jul 14 2023 03:08:49 GMT-0400 (EDT)",
"now" : "Fri Jul 14 2023 03:08:52 GMT-0400 (EDT)"
}
说明重启后不会失效,依然是我们上面设置的值,这里不会读取配置文件里的oplogSize=10000(我的配置文件里的配置)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2022-07-14 达梦日常维护查询
2022-07-14 达梦在线修改配置文件参数