MongoDBtroubleshootshardedclusters-創(chuàng)新互聯(lián)

MongoDB trouble shoot sharded clusters

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比大悟網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式大悟網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋大悟地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。

MongoDB trouble shoot sharded clusters

前言

Part1:寫在最前

    在MongoDB sharding環(huán)境中,我們會(huì)遇到一些常見(jiàn)的錯(cuò)誤,本文就MongoDB官網(wǎng)列出的錯(cuò)誤進(jìn)行翻譯。

Part2:整體環(huán)境

    MongoDB 3.4.4

實(shí)戰(zhàn)

Part1:某個(gè)應(yīng)用或者M(jìn)ongos宕機(jī)

    如果每個(gè)應(yīng)用程序服務(wù)器都有自己的mongos實(shí)例,其他應(yīng)用程序服務(wù)器可以繼續(xù)訪問(wèn)數(shù)據(jù)庫(kù)。 此外,mongos實(shí)例不保持持久狀態(tài),并且可以重新啟動(dòng)(啟動(dòng)過(guò)程中為unavailable),而不會(huì)丟失任何狀態(tài)或數(shù)據(jù)。 當(dāng)一個(gè)mongos實(shí)例啟動(dòng)時(shí),它會(huì)從configserver取回?cái)?shù)據(jù),并可以開始路由查詢。

Part2:在sharding集群中,其中一個(gè)mongod進(jìn)程宕機(jī)

    對(duì)于sharding環(huán)境,副本集提供了非常好的高可用能力。如果宕機(jī)的是主庫(kù),則副本集會(huì)選出一個(gè)新的主庫(kù)。如果宕機(jī)的是從庫(kù),則副本集會(huì)讓這臺(tái)從庫(kù)與主庫(kù)斷開連接,并且這臺(tái)從庫(kù)的數(shù)據(jù)不會(huì)被清空。在三個(gè)成員副本集中,即使該組的單個(gè)成員遇到災(zāi)難性故障,另外兩個(gè)成員也有完整的數(shù)據(jù)副本。

    經(jīng)常去檢查可用性是否中斷以及是否有故障,如果系統(tǒng)出現(xiàn)不可恢復(fù)的故障,盡快替換掉出問(wèn)題的服務(wù)器,并將一臺(tái)新的成員加入到副本集中,以保證整個(gè)副本集集群的高可用性。

Part3:sharding中的所有成員都unavailable

    如果副本集分片的所有成員都不可用,則該分片中保留的所有數(shù)據(jù)都不可用。但是,所有其他分片上的數(shù)據(jù)將保持可用,并且可以將數(shù)據(jù)讀取和寫入其他分片。?但是,應(yīng)用程序必須能夠處理部分結(jié)果,此時(shí)DBA該調(diào)查中斷的原因,并嘗試盡快恢復(fù)分片。

Part4:configserver副本集成員不可用

    在版本3.2中更改:從MongoDB 3.2開始,分片集群的配置服務(wù)器可以部署為副本集。 副本集配置服務(wù)器必須運(yùn)行WiredTiger存儲(chǔ)引擎。 MongoDB 3.2不推薦使用配置服務(wù)器的三個(gè)鏡像mongod實(shí)例。

    副本集為配置服務(wù)器提供高可用性。 如果不可用的配置服務(wù)器是主服務(wù)器,則副本集將選擇新的主服務(wù)器。

    如果副本集配置服務(wù)器丟失其主服務(wù)器,并且無(wú)法選擇主服務(wù)器,則集群的元數(shù)據(jù)將變?yōu)橹蛔x。 仍然可以從分片讀取和寫入數(shù)據(jù),但是在primary可用之前無(wú)法進(jìn)行塊遷移或塊分割。 如果所有配置數(shù)據(jù)庫(kù)變得不可用,則集群無(wú)法使用。

Part5:configserver數(shù)據(jù)過(guò)舊導(dǎo)致游標(biāo)失敗

    當(dāng)一個(gè)或多個(gè)mongos實(shí)例尚未從配置數(shù)據(jù)庫(kù)更新其集群元數(shù)據(jù)的緩存時(shí),查詢返回以下警告:

could not initialize cursor across all shards because : stale config detected

    此警告不應(yīng)傳回應(yīng)用程序。警告將重復(fù),直到所有的mongos實(shí)例刷新其緩存。要強(qiáng)制實(shí)例刷新其緩存,請(qǐng)運(yùn)行flushRouterConfig命令。

Part6:分片鍵和集群可用性

選擇分片鍵時(shí)最重要的考慮因素是:

1.確保MongoDB能夠在分片間均勻分配數(shù)據(jù)

2.衡量寫操作可以遍布整個(gè)集群

3.確保mongos可以將大多數(shù)查詢隔離成特定的mongod。

更多:

1.每個(gè)分片應(yīng)該是副本集,如果特定的mongod實(shí)例失敗,則副本集成員將選擇另一個(gè)作為主節(jié)點(diǎn)并繼續(xù)操作。?但是,如果整個(gè)分片由于某種原因無(wú)法訪問(wèn)或失敗,則該數(shù)據(jù)將不可用。

2.如果分片鍵允許mongos將大多數(shù)操作分離成單個(gè)分片,則單個(gè)分片的失敗只會(huì)使一些數(shù)據(jù)不可用。

3.如果分片建分布的數(shù)據(jù)要求獲取整個(gè)集群,那么這個(gè)分片不可用將導(dǎo)致整個(gè)集群不可用

實(shí)質(zhì)上,這也說(shuō)明了選擇合適的片鍵對(duì)于單個(gè)分片隔離查詢操作的重要性

Part7:configserver串錯(cuò)誤

    從MongoDB 3.2開始,configserver服務(wù)器可以部署為副本集。 分片集群的mongos實(shí)例必須指定相同的configserver服務(wù)器副本集名稱,但可以指定副本集的不同成員的主機(jī)名和端口。

    3.4開始,不再支持使用鏡像mongod實(shí)例作為配置服務(wù)器(SCCC)。 在將分片集群升級(jí)到3.4之前,必須將配置服務(wù)器從SCCC轉(zhuǎn)換為CSRS。

    對(duì)于早期版本的MongoDB分片集群,configserver服務(wù)器使用三個(gè)鏡像mongod實(shí)例的拓?fù)?,分片集群中的mongos實(shí)例必須指定相同的configDB字符串。

Part8:移動(dòng)configerserver服務(wù)器時(shí)避免停機(jī)

    使用CNAME來(lái)識(shí)別您的配置服務(wù)器到集群,以便可以重新命名和重新編號(hào)配置服務(wù)器,而不會(huì)停機(jī)。

Part9:move Chunk 報(bào)錯(cuò)

    chunk migration結(jié)束時(shí),分片必須連接到configserver數(shù)據(jù)庫(kù)才能更新群集元數(shù)據(jù)中的塊的記錄。 如果分片無(wú)法連接到configserver數(shù)據(jù)庫(kù),MongoDB會(huì)報(bào)告以下錯(cuò)誤:

ERROR: moveChunk commit failed: version is at <n>|<nn> instead of <N>|<NN>" and "ERROR: TERMINATING"

    當(dāng)發(fā)生這種情況時(shí),shard副本集的primary 復(fù)制終止以保護(hù)數(shù)據(jù)一致性。 如果secondary成員可以訪問(wèn)配置數(shù)據(jù)庫(kù),則在選舉為新主之后,分片上的數(shù)據(jù)將再次被訪問(wèn)。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

本文名稱:MongoDBtroubleshootshardedclusters-創(chuàng)新互聯(lián)
當(dāng)前URL:http://muchs.cn/article22/cosecc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站域名注冊(cè)、網(wǎng)站制作品牌網(wǎng)站設(shè)計(jì)、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)