真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

MongoDB中怎么修改oplogSize

這篇文章將為大家詳細(xì)講解有關(guān)MongoDB中怎么修改oplogSize,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

創(chuàng)新互聯(lián)提供做網(wǎng)站、網(wǎng)站設(shè)計(jì)、網(wǎng)頁設(shè)計(jì),成都品牌網(wǎng)站建設(shè),廣告投放等致力于企業(yè)網(wǎng)站建設(shè)與公司網(wǎng)站制作,十多年的網(wǎng)站開發(fā)和建站經(jīng)驗(yàn),助力企業(yè)信息化建設(shè),成功案例突破成百上千,是您實(shí)現(xiàn)網(wǎng)站建設(shè)的好選擇.

1、關(guān)閉此節(jié)點(diǎn)并以單實(shí)例啟動(dòng) 

1.1關(guān)閉節(jié)點(diǎn)進(jìn)程

SECONDARY> db.shutdownServer()

1.2注銷Replica set相關(guān)啟動(dòng)參數(shù)

并修改port端口號(hào)(假設(shè)原來是27001,現(xiàn)改為37001)

MongoDB中怎么修改oplogSize

MongoDB中怎么修改oplogSize

1.3 重新啟動(dòng)

/apps/mongodb/bin/mongod -f /data/johnny/cfg/shard1.cnf

2、備份節(jié)點(diǎn)oplog日志

全備當(dāng)前節(jié)點(diǎn)的所有oplog記錄

mongodump --port 37001 --db local --collection 'oplog.rs'

     備份oplog.rs中最近的一條oplog記錄

>use local
>db.optmp.drop()     ---清空臨時(shí)表,存放oplog最近一條記錄
>db.optmp.save(db.oplog.rs.find( { }, { ts: 1, h: 1 } ).sort( {$natural : -1} ).limit(1).next() )     ---將最近一條記錄存放到臨時(shí)集合中
>db.optmp.find()     ---驗(yàn)證是否記錄已存入
{ "_id" : ObjectId("5a0d437ed4738d194fa0b94f"), "ts" : Timestamp(1510389543, 1), "h" : NumberLong("-2633465233485407995") }

3、修改oplogSize

     刪除原oplog.rs集合

>use local
>db.oplog.rs.drop()

     創(chuàng)建新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()          ---查詢驗(yàn)證是否已插入

5、重新加入副本集

5.1 關(guān)閉當(dāng)前單實(shí)例進(jìn)程

>db.shutdownServer()

5.2 恢復(fù)配置文件信息

(注意oplogSizeMB參數(shù)值的修改)

MongoDB中怎么修改oplogSize

MongoDB中怎么修改oplogSize

 5.3 啟動(dòng)實(shí)例進(jìn)程

/apps/mongodb/bin/mongod -f /data/johnny/cfg/shard1.cnf

6、檢查節(jié)點(diǎn)狀態(tài)

登錄到mongo shell中檢查節(jié)點(diǎn)是否成功加入副本集架構(gòu)

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

7、根據(jù)上述步驟依次修改副本集的其他成員的oplogSize參數(shù)

注:修改Primary節(jié)點(diǎn)時(shí),記得先使用如下命令降級(jí),然后再修改

Primary>rs.stepDown()          ---可以更有效的產(chǎn)生選舉

方法二:

3.6版本后支持的動(dòng)態(tài)修改方法

1.修改之前的參數(shù)大?。?/h3>
replication:
   oplogSizeMB: 1024
   replSetName: shardrs1

登錄到mongo shell后查看oplog.rs集合大小

> use local
switched to db local
> db.oplog.rs.stats().maxSize
NumberLong(1073741824)    ---單位bytes,即2014MB

2.通過管理命令修改

> use local
switched to db local
> db.adminCommand({replSetResizeOplog:1, size: 2048});    ---2048的單位也MB
{
    "ok" : 1,
    "operationTime" : Timestamp(1537776585, 1),
    "$clusterTime" : {
        "clusterTime" : Timestamp(1537776585, 1),
        "signature" : {
            "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
            "keyId" : NumberLong(0)
        }
    }
}

3.驗(yàn)證是否成功

> db.oplog.rs.stats().maxSize
NumberLong("2147483648")

至此我們的oplog size動(dòng)態(tài)修改完畢,是不是很簡單,是不是很easy?

思考:

  • 問1:replSetResizeOplog命令會(huì)不會(huì)同時(shí)修改了replication.oplogSizeMB參數(shù)值呢?

  • 答:我此時(shí)查看啟動(dòng)配置文件,發(fā)現(xiàn)oplogSizeMB依然是1024;

  • 問2:重啟后會(huì)不會(huì)配置文件中的參數(shù)值就更改為修改值了呢?

  • 答:重新啟動(dòng)數(shù)據(jù)庫實(shí)例后,我發(fā)現(xiàn)并沒有,還是最初值

  • 問3:那么重啟后,新修改值會(huì)失效嗎?

  • 答:我再次發(fā)現(xiàn)并沒有,仍然使用最新值

shardrs1:PRIMARY> db.oplog.rs.stats().maxSize
NumberLong("2147483648")

關(guān)于MongoDB中怎么修改oplogSize就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。


當(dāng)前標(biāo)題:MongoDB中怎么修改oplogSize
文章源于:http://weahome.cn/article/gepisd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部