ITPub博客

首页 > 数据库 > NoSQL > mongodb修改oplog大小

mongodb修改oplog大小

原创 NoSQL 作者:liiinuuux 时间:2015-04-03 15:46:28 0 删除 编辑
将主库降级成备库
rs.stepDown()

关闭数据库
db.shutdownServer()

以单机模式启动
mongod --port 9999 --dbpath /opt/mongo/data

备份当前oplog(可选)
[root@db11 mongo]# mongodump --db local --collection 'oplog.rs' --port 9999
mongodump: /usr/lib64/libcrypto.so.10: no version information available (required by mongodump)
mongodump: /usr/lib64/libssl.so.10: no version information available (required by mongodump)
2015-03-17T16:25:46.210+0800    writing local.oplog.rs to dump/local/oplog.rs.bson
2015-03-17T16:25:46.211+0800    writing local.oplog.rs metadata to dump/local/oplog.rs.metadata.json
2015-03-17T16:25:46.212+0800    done dumping local.oplog.rs

登陆数据库
> use local
switched to db local
> db = db.getSiblingDB('local')
local

下面操作是向temp里存入oplog的最后一行
> db.temp.drop()
false
> db.temp.save( db.oplog.rs.find( { }, { ts: 1, h: 1 } ).sort( {$natural : -1} ).limit(1).next() )
WriteResult({ "nInserted" : 1 })
> db.temp.find()
{ "_id" : ObjectId("5507e88db747b826f8608222"), "ts" : Timestamp(1426578920, 1), "h" : NumberLong("6594803502965050820") }

移除现有oplog
> db = db.getSiblingDB('local')
local
> db.oplog.rs.drop()
true

创建新的oplog
> db.runCommand( { create: "oplog.rs", capped: true, size: (20 * 1024 * 1024 ) } )
{ "ok" : 1 }

把之前oplog的最后一行存入新的oplog
> db.oplog.rs.save( db.temp.findOne() )
WriteResult({
    "nMatched" : 0,
    "nUpserted" : 1,
    "nModified" : 0,
    "_id" : ObjectId("5507e88db747b826f8608222")
})
dbdb.oplog.rs.find()
{ "_id" : ObjectId("5507e88db747b826f8608222"), "ts" : Timestamp(1426578920, 1), "h" : NumberLong("6594803502965050820") }


重启数据库,加入复制集
> use admin
switched to db admin
> db.shutdownServer()

nohup mongod -f mongo.conf &


将当前主库降为备库
rs0:PRIMARY> rs.stepDown()
2015-03-17T16:45:00.108+0800 I NETWORK  DBClientCursor::init call() failed
2015-03-17T16:45:00.129+0800 E QUERY    Error: error doing query: failed
    at DBQuery._exec (src/mongo/shell/query.js:83:36)
    at DBQuery.hasNext (src/mongo/shell/query.js:240:10)
    at DBCollection.findOne (src/mongo/shell/collection.js:186:19)
    at DB.runCommand (src/mongo/shell/db.js:58:41)
    at DB.adminCommand (src/mongo/shell/db.js:66:41)
    at Function.rs.stepDown (src/mongo/shell/utils.js:1001:43)
    at (shell):1:4 at src/mongo/shell/query.js:83
2015-03-17T16:45:00.135+0800 I NETWORK  trying reconnect to 127.0.0.1:4001 (127.0.0.1) failed
2015-03-17T16:45:00.136+0800 I NETWORK  reconnect 127.0.0.1:4001 (127.0.0.1) ok
rs0:SECONDARY> 







来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26239116/viewspace-1485431/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: mongodb复制集搭建
请登录后发表评论 登录
全部评论

注册时间:2012-11-12

  • 博文量
    94
  • 访问量
    353430