MongoDB3.2 之 oplogSize修改
2017-11-16 17:28
519 查看
MongoDB3.2 之 oplogSize修改
前言:
有时候由于某些情况,我们需要修改oplogSize大小,由于目前版本3.2不支持在线修改,好像说是3.6版本将支持在线修改,所以我们只能对副本集成员逐一进行,
·注·:primary节点最后修改,先修改可能会成为主节点的secondary节点。
大致步骤如下:
重启节点为单实例方式运行(不同端口)修改oplog大小(保留最近的一条oplog记录)
重新加入副本集
修改Secondary:
1、关闭此节点并以单实例启动
关闭节点进程SECONDARY> db.shutdownServer()
注销Replica set相关启动参数,并修改port端口号
单实例方式启动
/apps/mongodb/bin/mongod -f /data/johnny/cfg/shard1.cnf
2、备份节点oplog日志
全备当前节点的所有oplog记录mongodump --port 37001 --db local --collection 'oplog.rs'
备份oplog.rs中最近的一条oplog记录
>use local >db.optmp.drop() ---清空临时表,存放oplog最近一条记录 >db.optmp.save(db.oplog.rs.find( { }, { ts: 1, h: 1 } ).sort( {$natural : -1} ).limit(1).next() ) ---将最近一条记录存放到临时集合中 >db.optmp.find() ---验证是否记录已存入 { "_id" : ObjectId("5a0d437ed4738d194fa0b94f"), "ts" : Timestamp(1510389543, 1), "h" : NumberLong("-2633465233485407995") }
3、修改oplogSize
删除原oplog.rs集合>use local >db.oplog.rs.drop() 创建新oplog.rs集合 > db.runCommand( { create: "oplog.rs", capped: true, size: (2 * 1024 * 1024 * 1024) } ) { "ok" : 1 } ---成功的话将返回ok
4、还原之前备份的最近一条记录
> db.oplog.rs.save(db.optmp.findOne()) > db.oplog.rs.find() ---查询验证是否已插入
5、重新加入副本集
关闭当前单实例进程>db.shutdownServer()
恢复配置文件信息(注意oplogSizeMB参数值的修改)
启动实例进程
/apps/mongodb/bin/mongod -f /data/johnny/cfg/shard1.cnf
6、检查节点状态
登录到mongo shell中检查节点是否成功加入副本集架构>rs.status()
检查oplogSize是否生效(红色字体)
SECONDARY> rs.printReplicationInfo() configured oplog size: 2048MB log length start to end: 0secs (0hrs) oplog first event time: Sat Nov 11 2017 16:39:03 GMT+0800 (CST) oplog last event time: Sat Nov 11 2017 16:39:03 GMT+0800 (CST) now: Thu Nov 16 2017 17:00:32 GMT+0800 (CST)
修改Primary节点
1、切换主从Primary>rs.stepDown() ---可以更有效的产生选举
2、待角色变为Secondary后,按上述步骤修改oplogSize
相关文章推荐
- mongodb 3.2 修改oplogsize
- MongoDB3.2 之 oplogSize修改
- 修改oplogsize导致无法启动mongodb
- MongoDB 修改认证机制
- MongoDB3.2磁盘碎片整理---compact详述
- MongoDB增加用户认证:增加用户、删除用户、修改用户密码、读写权限、只读权限
- thinkphp 3.2 => 0623-11 修改数据
- Linux 内核stack size 修改 限制Mongodb 内存开销
- 【MongoDB】4.MongoDB 原子修改器的 极速修改
- centos6.5下安装配置mongodb3.2
- MongoDB 3.2版本常用代码全整理(1) - 增删改
- MongoDB 3.2配置文件directoryPerDB参数,无法重启
- 使用C#对MongoDB中的数据进行查询,修改等操作
- (视频) 《快速创建网站》 3.2 WordPress多站点及Azure在线编辑器 - 扔掉你的ftp工具吧,修改代码全部云端搞定
- Mybatis实现批量插入和更新(Mybatis3.2源码修改)
- MongoDB增加用户认证:增加用户、删除用户、修改用户密码、读写权限、只读权限
- 转: How to Install MongoDB 3.2 on CentOS/RHEL & Fedora (简单易懂)
- mongodb最大连接数、最大连接数修改
- MongoDB增加用户、删除用户、修改用户读写权限及只读权限(注:转载于http://www.2cto.com/database/201203/125025.html)
- MongoDB增加用户认证: 增加用户、删除用户、修改用户密码、读写权限、只读权限