1. 程式人生 > >mongodb 修改oplog的大小

mongodb 修改oplog的大小

mongodb 修改oplog的大小

  1. 關閉mongd的例項, 如果是主那麼需要先進行切換(rs.stepDown())
    db.shutdownServer()

    /usr/local/mongodb-3.0.15/bin/mongod -f /etc/mongod_5011.cnf --shutdown

  2. 以單例項啟動mongod
    修改配置檔案為單例項
    usr/local/mongodb-3.0.15/bin/mongod -f /etc/mongod_5011.cnf

  3. 重新建立oplog size 的大小
    use local
    db = db.getSiblingDB(‘local’)
    db.temp.drop()
    db.temp.save( db.oplog.rs.find( { }, { ts: 1, h: 1 } ).sort( {$natural : -1} ).limit(1).next() )
    db.temp.find()

  4. 刪除現有的oplog(如果是複製集無需備份oplog, 假如真的壞了還可以從另一個節點複製,或者重新同步資料)
    db = db.getSiblingDB(‘local’)
    db.oplog.rs.drop()

  5. 建立一個新的oplog
    db.runCommand( { create: “oplog.rs”, capped: true, size: (150 * 1024 * 1024 * 1024) } )
    150 表示你設定oplog的oplog 的大小,單位是GB, 上面我設定oplog 大小為 150GB

  6. 插入最後一條oplog資料到新的oplog
    db.oplog.rs.save( db.temp.findOne() )
    db.oplog.rs.find()

  7. 以複製集的模式重啟該例項
    db.shutdownServer()

    /usr/local/mongodb-3.0.15/bin/mongod -f /etc/mongod_5011.cnf --shutdown
    修改配置檔案為複製集模式
    /usr/local/mongodb-3.0.15/bin/mongod -f /etc/mongod_5011.cnf

參考官方文件
https://docs.mongodb.com/v3.0/tutorial/change-oplog-size/