亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MongoDB > 正文

MongoDB詭異問題之sh.stopBalancer卡住的解決方法

2020-03-14 12:50:38
字體:
來源:轉載
供稿:網友

背景

Part1:寫在最前

我們在使用MongoDB sharding集群時,會使用如下命令來管理啟停Balancer:

>sh.stopBalancer() 停止Balancer>sh.startBalancer() 開啟Balancer

Part2:背景

開啟balancer后,客戶反饋前端應用寫入緩慢,查詢超時。因此我們嘗試關閉balancer,來避免chunk遷移對集群性能帶來的影響。

但是在調用sh.stopBalancer的時候,發現卻停不下來,sh.stopBalancer會處于卡住的狀態:

mongos>sh.stopBalancer()Waiting for active hosts...Waiting for the balancer lock...assert.soon failed,msg:Waited too long for lock balancer to unlockdoassert@src/mongo/shell/assert.js:18:14assert.soon@src/mongo/shell/assert.js:202:13sh.waitForDLock@src/mongo/shell/utils_sh.js:198:1sh.waitForBalancerOff@src/mongo/shell/utils_sh.js:264:9sh.waitForBalancer@src/mongo/shell/utils_sh.js:294:9sh.stopBalancer@src/mongo/shell/utils_sh.js:161:5@(shell):1:1Balancer still may be active, you must manually verify this is not the case using theconfig.changelog collection.2018-02-11T16:28:29.753+0800E QUERY [thread1] Error: Error:assert.soon failed, msg:Waited too long for lock balancer to unlock :sh.waitForBalancerOff@src/mongo/shell/utils_sh.js:268:15sh.waitForBalancer@src/mongo/shell/utils_sh.js:294:9sh.stopBalancer@src/mongo/shell/utils_sh.js:161:5@(shell):1:1

從上述報錯能夠看出,是由于目前balancer正在運行導致的,

Warning:警告 在3.4版本中,balancer運行在config server 的主節點上,在早期的版本中,balancer是運行在mongos上的。 當balancer進程處于活動狀態時,config server副本集的主服務器通過修改config數據庫的lock集合中的文檔,來獲取“平衡器鎖”。 這個“平衡器鎖”只能自己主動釋放。

Part3:排查方法

我們調用sh.status()命令能夠看到當前balancer已經關閉了,但是running還是yes,這說明有遷移正在運行。 

 balancer:Currently enabled: noCurrently running: yes

我們查看發現migrations集合下為空,說明沒有集合在遷移

mongos> db.migrations.find()

我們查看locks集合下的信息,處于2狀態的說明正持有鎖

mongos> db.locks.find(){ "_id" : "balancer", "state" : 2, "ts" : ObjectId("5a324c42329457086086da07"), "who" : "ConfigServer:Balancer", "process" : "ConfigServer", "when" : ISODate("2018-01-31T08:33:43.346Z"), "why" : "CSRS Balancer" }

Warning:警告

locks集合中的why列告訴我們持有鎖的原因,如果有正在遷移的文檔,其狀態應該是2,why中的原因會顯示Migrating chunk(s) in collection db.collationname.

從3.4版本起,balancer的狀態字段將始終為值2,以防止老版本的mongos實例執行平衡操作。 when字段指config server 成員成為主節點的時間。

解決辦法

Part1:寫在最前

sh.stopBalancer停不下來,常見的可能原因有以下幾個:

  • 正在做chunk遷移,必須等待chunk遷移完成后,才能夠正常停止;
  • 后端的server時間不同步;
  • mongo客戶端版本低于server端,本文就是第3種情況。mongo客戶端的版本是3.2版本,config server和mongod都是3.4版本的mongo。

Part2:解決辦法

替換老版本的mongo客戶端,使用3.4版本的客戶端

mongos> sh.stopBalancer(){ "ok" : 1 } config:PRIMARY> db.version()3.4.9-2.9

Part3:原因分析

卡住的原因是由于客戶端mongo是3.2版本,而config節點是3.4版本,3.2版本的mongos在執行stopBalancer()時,stopBalancer代碼假定如果balancerStop命令沒有找到,那么它會使用舊版本的邏輯,等待鎖被釋放。從3.4版本起,Balance進程從mongos移動之configer server的primary節點上。

總結

通過這個案例,我們能夠了解到mongo客戶端版本帶來的問題,以及有哪些常見原因導致sh.stopBalancer停不下來。由于筆者的水平有限,編寫時間也很倉促,文中難免會出現一些錯誤或者不準確的地方,不妥之處懇請讀者批評指正。

好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到MongoDB頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美电影免费观看高清完整| 精品视频一区在线视频| 大伊人狠狠躁夜夜躁av一区| 成人h视频在线| 欧美激情a∨在线视频播放| 久热精品视频在线观看一区| 欧美夜福利tv在线| 日韩大胆人体377p| 国产91九色视频| 在线精品国产欧美| 国产日韩在线精品av| 91视频8mav| 亚洲免费人成在线视频观看| 亚洲精品一区中文字幕乱码| 精品无码久久久久久国产| 一区二区三区精品99久久| 久久久亚洲天堂| 日韩色av导航| 久久久久久久爱| 日韩欧美福利视频| 4438全国亚洲精品在线观看视频| 亚洲精品国产精品久久清纯直播| 国产精品99久久久久久白浆小说| 成人激情视频免费在线| 91亚洲一区精品| 在线视频欧美日韩| 福利精品视频在线| 国产精品69精品一区二区三区| 久久精品91久久香蕉加勒比| 懂色av影视一区二区三区| 国产午夜精品免费一区二区三区| 国外成人免费在线播放| 91久久精品视频| 久久久久亚洲精品| 欧美床上激情在线观看| 亚洲第一页中文字幕| 国产精品久久久久久亚洲调教| 亚洲成人久久久久| 精品夜色国产国偷在线| 久久不射热爱视频精品| 久久精品国产免费观看| 日韩中文在线中文网三级| 热久久免费国产视频| 日韩一二三在线视频播| 国产亚洲精品一区二555| 欧美xxxx综合视频| 91超碰中文字幕久久精品| 2019日本中文字幕| 久久亚洲一区二区三区四区五区高| 久久亚洲欧美日韩精品专区| 亚洲精品av在线播放| 亚洲精品久久久久国产| 亚洲视频一区二区三区| 久久久精品电影| 精品人伦一区二区三区蜜桃免费| 在线精品视频视频中文字幕| 黑人欧美xxxx| 欧美日韩国产第一页| 久久久亚洲国产天美传媒修理工| 亚洲第一区中文99精品| 亚洲午夜精品久久久久久性色| 国产精品久久二区| 久热精品视频在线免费观看| 亚洲综合av影视| 午夜欧美大片免费观看| 亚洲精品美女久久| 国产色综合天天综合网| 亚洲天堂开心观看| 精品亚洲永久免费精品| 国产成人激情小视频| 久久黄色av网站| 富二代精品短视频| 亚洲综合在线播放| 在线观看不卡av| 国产日韩欧美自拍| 日韩在线视频网| 日韩精品丝袜在线| 国产成人精品在线播放| 久久久久日韩精品久久久男男| 97久久久久久| 日韩av123| 亚洲mm色国产网站| 精品国偷自产在线视频| 欧美专区国产专区| 国产在线视频一区| 成人免费淫片视频软件| 日韩精品视频免费专区在线播放| www.精品av.com| 98视频在线噜噜噜国产| 日韩美女中文字幕| 亚洲欧洲午夜一线一品| 日韩美女福利视频| 亚洲精品720p| 热re91久久精品国99热蜜臀| 久久久精品影院| 欧美日韩国产中字| 欧美亚洲视频在线观看| 97av在线视频| 欧美视频免费在线观看| 国产精品99一区| 中文在线资源观看视频网站免费不卡| 久久综合色影院| 亚洲女人被黑人巨大进入al| 国产成人一区二区三区小说| 国产色综合天天综合网| 国产精品福利片| 亚洲**2019国产| 91精品中文在线| 国产精品久久久久久久久| 欧美日韩在线另类| 欧美日韩激情视频| 亚洲国产精品久久精品怡红院| 91久久国产综合久久91精品网站| 国产成人精品免高潮费视频| 国产精品福利片| 久久久噜噜噜久噜久久| 日本伊人精品一区二区三区介绍| 久久国产精品99国产精| 国产91亚洲精品| 992tv在线成人免费观看| 亚洲精品456在线播放狼人| 亚洲精品国产福利| 亚洲第一国产精品| 九色成人免费视频| 国产精品丝袜高跟| 国产精品免费电影| 日韩精品免费在线视频观看| 性欧美长视频免费观看不卡| 亚洲人成电影网| 精品亚洲国产成av人片传媒| 国产精品ⅴa在线观看h| 国产精品久久久久久久久借妻| 日韩女优在线播放| 日韩中文字幕久久| 欧美黄色小视频| 国产日本欧美一区二区三区在线| 成人国产亚洲精品a区天堂华泰| 亚洲成人av资源网| 欧美性受xxxx黑人猛交| 91亚洲精品视频| 日韩欧美国产骚| 伊人伊人伊人久久| 97久久精品人搡人人玩| 九九热精品视频国产| 成人在线观看视频网站| 欧美性猛交xxxx偷拍洗澡| 热久久这里只有| 欧美黑人又粗大| 亚洲国产精品悠悠久久琪琪| 国产精品午夜一区二区欲梦| 97视频在线看| 国产精品va在线播放| 日本韩国在线不卡| 国产精品精品久久久| 在线视频欧美日韩精品| 成人xvideos免费视频| 欧美日韩成人精品| 97国产在线视频| 成人在线小视频| 日韩精品在线免费播放| 亚洲自拍欧美另类| 欧美日韩爱爱视频| 亚洲一区二区国产| 欧美成人精品在线|