免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

MongoDBtroubleshootshardedclusters-創新互聯

MongoDB trouble shoot sharded clusters

創新互聯-專業網站定制、快速模板網站建設、高性價比大悟網站開發、企業建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式大悟網站制作公司更省心,省錢,快速模板網站建設找我們,業務覆蓋大悟地區。費用合理售后完善,10余年實體公司更值得信賴。

MongoDB trouble shoot sharded clusters

前言

Part1:寫在最前

    在MongoDB sharding環境中,我們會遇到一些常見的錯誤,本文就MongoDB官網列出的錯誤進行翻譯。

Part2:整體環境

    MongoDB 3.4.4

實戰

Part1:某個應用或者Mongos宕機

    如果每個應用程序服務器都有自己的mongos實例,其他應用程序服務器可以繼續訪問數據庫。 此外,mongos實例不保持持久狀態,并且可以重新啟動(啟動過程中為unavailable),而不會丟失任何狀態或數據。 當一個mongos實例啟動時,它會從configserver取回數據,并可以開始路由查詢。

Part2:在sharding集群中,其中一個mongod進程宕機

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

    經常去檢查可用性是否中斷以及是否有故障,如果系統出現不可恢復的故障,盡快替換掉出問題的服務器,并將一臺新的成員加入到副本集中,以保證整個副本集集群的高可用性。

Part3:sharding中的所有成員都unavailable

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

Part4:configserver副本集成員不可用

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

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

    如果副本集配置服務器丟失其主服務器,并且無法選擇主服務器,則集群的元數據將變為只讀。 仍然可以從分片讀取和寫入數據,但是在primary可用之前無法進行塊遷移或塊分割。 如果所有配置數據庫變得不可用,則集群無法使用。

Part5:configserver數據過舊導致游標失敗

    當一個或多個mongos實例尚未從配置數據庫更新其集群元數據的緩存時,查詢返回以下警告:

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

    此警告不應傳回應用程序。警告將重復,直到所有的mongos實例刷新其緩存。要強制實例刷新其緩存,請運行flushRouterConfig命令。

Part6:分片鍵和集群可用性

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

1.確保MongoDB能夠在分片間均勻分配數據

2.衡量寫操作可以遍布整個集群

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

更多:

1.每個分片應該是副本集,如果特定的mongod實例失敗,則副本集成員將選擇另一個作為主節點并繼續操作。?但是,如果整個分片由于某種原因無法訪問或失敗,則該數據將不可用。

2.如果分片鍵允許mongos將大多數操作分離成單個分片,則單個分片的失敗只會使一些數據不可用。

3.如果分片建分布的數據要求獲取整個集群,那么這個分片不可用將導致整個集群不可用

實質上,這也說明了選擇合適的片鍵對于單個分片隔離查詢操作的重要性

Part7:configserver串錯誤

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

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

    對于早期版本的MongoDB分片集群,configserver服務器使用三個鏡像mongod實例的拓撲,分片集群中的mongos實例必須指定相同的configDB字符串。

Part8:移動configerserver服務器時避免停機

    使用CNAME來識別您的配置服務器到集群,以便可以重新命名和重新編號配置服務器,而不會停機。

Part9:move Chunk 報錯

    chunk migration結束時,分片必須連接到configserver數據庫才能更新群集元數據中的塊的記錄。 如果分片無法連接到configserver數據庫,MongoDB會報告以下錯誤:

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

    當發生這種情況時,shard副本集的primary 復制終止以保護數據一致性。 如果secondary成員可以訪問配置數據庫,則在選舉為新主之后,分片上的數據將再次被訪問。

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

本文名稱:MongoDBtroubleshootshardedclusters-創新互聯
當前URL:http://m.newbst.com/article22/cosecc.html

成都網站建設公司_創新互聯,為您提供移動網站建設動態網站域名注冊網站制作品牌網站設計企業網站制作

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設