91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MongoDB中怎么修改oplogSize

發布時間:2021-07-16 16:09:39 來源:億速云 閱讀:160 作者:Leah 欄目:關系型數據庫

這篇文章將為大家詳細講解有關MongoDB中怎么修改oplogSize,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

1、關閉此節點并以單實例啟動 

1.1關閉節點進程

SECONDARY> db.shutdownServer()

1.2注銷Replica set相關啟動參數

并修改port端口號(假設原來是27001,現改為37001)

MongoDB中怎么修改oplogSize

MongoDB中怎么修改oplogSize

1.3 重新啟動

/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、重新加入副本集

5.1 關閉當前單實例進程

>db.shutdownServer()

5.2 恢復配置文件信息

(注意oplogSizeMB參數值的修改)

MongoDB中怎么修改oplogSize

MongoDB中怎么修改oplogSize

 5.3 啟動實例進程

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

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

注:修改Primary節點時,記得先使用如下命令降級,然后再修改

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

方法二:

3.6版本后支持的動態修改方法

1.修改之前的參數大小:

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.驗證是否成功

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

至此我們的oplog size動態修改完畢,是不是很簡單,是不是很easy?

思考:

  • 問1:replSetResizeOplog命令會不會同時修改了replication.oplogSizeMB參數值呢?

  • 答:我此時查看啟動配置文件,發現oplogSizeMB依然是1024;

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

  • 答:重新啟動數據庫實例后,我發現并沒有,還是最初值

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

  • 答:我再次發現并沒有,仍然使用最新值

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

關于MongoDB中怎么修改oplogSize就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙陵县| 永宁县| 海宁市| 攀枝花市| 拉孜县| 绥阳县| 尉氏县| 教育| 礼泉县| 克山县| 宣汉县| 邵武市| 盐池县| 乌兰察布市| 农安县| 天全县| 金川县| 体育| 商都县| 巴东县| 定兴县| 涞水县| 遂昌县| 缙云县| 武城县| 黄山市| 福鼎市| 黎城县| 家居| 龙里县| 垫江县| 竹山县| 阳信县| 宁德市| 峨山| 遂平县| 长治市| 饶平县| 青浦区| 岚皋县| 栖霞市|