中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

balancer怎么在MongoDB中使用

發布時間:2021-05-03 17:19:12 來源:億速云 閱讀:260 作者:Leah 欄目:開發技術

本篇文章為大家展示了balancer怎么在MongoDB中使用,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

01 balancer簡介

   從MongoDB3.4開始,balancer運行在config server的主節點上。

    在3.4版本中,balancer進程活躍期間,config server的主節點通過修改locks集合中的一個_id為balancer的文檔,來持有"balancer lock";

    3.6版本中,balancer不再持有鎖

    默認的情況下,balancer始終處于開啟狀態,可以使用下面的命令來查看balancer的運行情況:

mongos> sh.getBalancerState()
true

    同樣的,我們可以使用下面幾個命令來簡單的管理balancer:

查看banlancer是否正在工作
sh.isBalancerRunning() 

停止balancer
sh.stopBalancer()

啟動balancer
sh.setBalancerState( true )

02 balancer工作中可能對業務造成的影響?

1、磁盤占用:
   從MongoDB2.6開始,MongoDB會自動歸檔遷移的chunk文檔,以方便在chunk搬遷過程中出現問題后的文檔恢復。

   我們可以通過配置文件中的參數:sharding.archiveMovedChunks

來控制是否開啟遷移過程中chunk的自動歸檔,該參數在MongoDB2.6和3.0版本是默認開啟的,其他版本都是默認關閉的。

2、帶寬和負載占用:

    balancer再對chunk遷移過程中,會造成帶寬和負載方面的開銷。為了減輕這些影響,平衡器做了如下的工作:

a、一次遷移只能遷一個chunk,

b、一個shard同一時間只能執行一個遷移任務

c、從MongoDB3.4開始,引入了并行的chunk遷移,對于一個有n個shard的集群,每次最多并行遷移n/2(向下取整)個數據塊

d、只有當chunk數量最多的shard和chunk數量最少的shard的差異達到閾值的時候,才開始遷移chunk

e、支持用戶設置balancer的窗口時間,在業務低峰窗口時間內進行chunk的遷移工作,從而最大程度減輕對業務的影響。

03 設置balancer的執行時間窗口

 1、通過mongo shell連接到mongos上

2、切換到config數據庫

    use config

3、確保當前balancer是開啟的

    sh.getBalancerState()  返回true

4、設置窗口時間

db.settings.update(
   { _id: "balancer" },
   { $set: { activeWindow : { start : "<start-time>", stop : "<stop-time>" } } },
   { upsert: true }
)

其中,start-time和stop-time的取值如下:

  • For HH values, use hour values ranging from 00 - 23.

  • For MM value, use minute values ranging from 00 - 59.

MongoDb會以config數據庫的primary節點的時間為參考,開始執行相關chunk的搬遷操作。

要確保設置的時間范圍內,所有的chunk能夠搬遷完畢,否則會出現數據庫搬遷過后,依舊不均衡的現象。

移除chunk搬遷時間窗口的命令如下:

use config
db.settings.update({ _id : "balancer" }, { $unset : { activeWindow : true } })

04 備份和balancer

   MongoDB中,不要在備份的時候啟用balancer,否則,備份的數據將會不一致。通常情況下,備份的時間窗口要和balancer的時間窗口錯開,如果balancer沒有設置時間窗口,則在備份的時候,關閉balancer

上述內容就是balancer怎么在MongoDB中使用,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

高碑店市| 红原县| 九江县| 望奎县| 闸北区| 无锡市| 桃园县| 丹江口市| 枣强县| 武汉市| 淳安县| 甘洛县| 澎湖县| 黑水县| 韶关市| 松桃| 扬中市| 云梦县| 那曲县| 京山县| 成安县| 芒康县| 清原| 西乌珠穆沁旗| 什邡市| 康定县| 环江| 定日县| 黄石市| 基隆市| 太原市| 奎屯市| 会昌县| 禄劝| 轮台县| 潜山县| 雷州市| 宝兴县| 当雄县| 浪卡子县| 封丘县|