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

首頁 > 數據庫 > MongoDB > 正文

MongoDB分片在部署與維護管理中常見的事項總結大全

2020-10-29 18:43:27
字體:
來源:轉載
供稿:網友

前言

分片(sharding)是MongoDB將大型集合分割到不同服務器(或者說集群)上所采用的方法,主要為應對高吞吐量與大數據量的應用場景提供了方法。

將數據分散到不同的機器上,不需要功能強大的服務器就可以存儲更多的數據和處理更大的負載。基本思想就是將集合切成小塊,這些塊分散到若干片里,每個片只負責總數據的一部分,最后通過一個均衡器來對各個分片進行均衡(數據遷移)。通過一個名為mongos的路由進程進行操作,mongos知道數據和片的對應關系(通過配置服務器)。大部分使用場景都是解決磁盤空間的問題,對于寫入有可能會變差(+++里面的說明+++),查詢則盡量避免跨分片查詢。

使用分片的時機:

1,機器的磁盤不夠用了。使用分片解決磁盤空間的問題。

2,單個mongod已經不能滿足寫數據的性能要求。通過分片讓寫壓力分散到各個分片上面,使用分片服務器自身的資源。

3,想把大量數據放到內存里提高性能。和上面一樣,通過分片使用分片服務器自身的資源。

和既有的分庫分表、分區方案相比,MongoDB的最大區別在于它幾乎能自動完成所有事情,只要告訴MongoDB要分配數據,它就能自動維護數據在不同服務器之間的均衡。

一. 分片的集群組件

1.Mongos 【路由】

作為請求的訪問入口,所有的請求都由mongos來路由、分發、合并,這些動作對客戶端driver透明,用戶連接mongos就像連接mongod一樣使用。Mongos會根據請求類型及shard key將請求路由到對應的Shard。

2.Config Server 【配置服務器】

存儲Sharding Cluster 的所有元數據,所有的元數據都存儲在config數據庫;

*保存每個分片上的chunk的信息 * 保存chunk上的片鍵范圍。

3. Shard 【分片】

存儲應用數據記錄。

二. 分片優勢

1.對集群進行抽象,讓集群“不可見”,分片對應用系統是透明的。

Mongos是專有路由進程,其會將客戶端發來的請求準確無誤的路由到集群中的一個或者一組服務器上,同時會把接收到的響應拼裝起來發回到客戶端。

2.保證集群總是可讀寫

將MongoDB的分片和復制集功能結合使用,在確保數據分片到多臺服務器的同時,也確保了每分數據都有相應的備份,可以確保有服務器壞掉時,其他的從庫可以立即接替壞掉的部分繼續工作。提高了集群的可用性和可靠性。

3.使集群易于擴展

當系統需要更多的空間和資源的時候,MongoDB使我們可以按需方便的擴充系統容量。

三. 分片部署注意事項(常見錯誤)

1.配置可復制集作為分片節點與配置單獨使用的可復制集基本一樣。但啟動參數中需指定―shardsvr參數。

否則,在啟動數據庫分片時報錯: {"code" : 193,"ok" : 0, "errmsg" : "Cannot accept sharding commands if not started with --shardsvr“} 。

2.創建配置服務器集群時,不能設置見證節點。

否則,報錯 "errmsg" :  "Arbiters are not allowed in replica set configurations being used for config servers"

3.配置Mongos 實例時,請不要配置dbpath參數。

否則,設置dbpath參數,服務無法正常啟動,報錯:Error parsing INI config file: unrecognised option 'dbpath'

4.配置Mongos 實例時,需設置Keyfile。

否則,不設置Keyfile,Service無法正常啟動, 報錯:2018-05-10T15:30:26.791+0800 W SHARDING [mongosMain] Error initializing sharding state, sleeping for 2 seconds and trying again :: caused by :: Unauthorized: Error loading clusterID :: caused by :: not authorized on config to execute command { find: “version”, readConcern: { level: “majority”, afterOpTime: { ts: Timestamp 1525937413000|2, t: 1 } }, maxTimeMS: 30000

5.分片集合設置。

分片不會默認生成,需要先在數據庫中啟動分片(sh.enableSharding(“DBName”) ),然后再設置集合分片(sh.shardCollection(“Collection”{片鍵})

四. 分片管理的注意事項(常用命令)

1.檢查shards 配置及狀態

db.runCommand({listshards:1})

2. 檢查數據庫主片的地址以及是否分區

db.getSiblingDB("config").databases.find()

3. 檢查數據塊的數量

db.chunks.count() --需切換到配置數據庫(config

4. 查看分片的詳細信息,包括數據庫信息和范圍信息

sh.status()

5. 索引是優化查詢性能的重要手段。當在分片集合上聲明索引時,每個分片都會為自己的集合部分定義單獨的索引。分片集合只允許在_id字段和分片鍵上建立唯一索引。

6. 分割和遷移 MongoDB底層依賴2個機制來保持集群的平衡:分割和遷移。

分割是把一個大的數據塊分割為2個更小的數據塊的過程。遷移就是在分片之間移動數據塊的過程。當某些分片服務器包含的數據塊數據量大大超過其他分片服務器時就會觸發遷移的過程,這個觸發器叫做遷移回合(migration round)

6.1 遷移觸發條件

6.2 查看Balancer 進程是否開啟 sh.getBalancerState()

6.3 停Balancer 進程 sh.stopBalancer()開啟Balancer 進程

6.4. 默認情況下 Balancer 進程一直在運行,為了降低Balancer進程對系統的運行,可以為Balancer進程設置運行時間窗口,讓Balancer進程在指定的時間窗口操作。

6.4.1 例如設置Balancer進程在23:00到6:00時間窗口內執行。

db.settings.update({ _id : "balancer" }, { $set : { activeWindow : { start : "23:00", stop : "6:00" } } }, true ) ;

6.4.2 刪除Balancer進程運行時間窗口

6.5. 查看塊的范圍

6.5.1 如果集合數據量較小,可以直接通過sh.status()查看

6.5.2 如果集合數據量較大,sh.status()無法反應此集合的分塊信息。此時,可通過執行以下命令查看printShardingStatus(db.getSisterDB("config"),1);

6.5.3 也可將命令切換到config數據庫下,執行db.chunks.find()查看。可以輸入制定參數,例如,查看分片repsms2,集合cloud-docs.PushMessageRecord的塊情況(cloud-docs為數據庫名稱)

db.chunks.find({"shard" : "repsms2","ns" : "cloud-docs.PushMessageRecord"}).pretty()

五. 備注

分片集群管理的數據量比較大,并且分片的架構相對比較復雜。所以,一定在業務需求需要上分片時,再上分片,且不可準求“炫”的技術而上分片。另外,上線后,相關的監控一定要部署,逐漸完善。

總結

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久在线观看| 亚洲免费小视频| 欧美高清在线观看| 亚洲成人教育av| 欧美成人黑人xx视频免费观看| 美女福利精品视频| 久久综合电影一区| 国产日韩换脸av一区在线观看| 色播久久人人爽人人爽人人片视av| 亚洲乱码国产乱码精品精| 亚洲色图综合久久| 欧美电影免费在线观看| 国产欧美日韩专区发布| 日韩欧美第一页| 美女扒开尿口让男人操亚洲视频网站| 国产精品入口福利| 日韩亚洲精品视频| 亚洲少妇中文在线| 2019中文字幕在线免费观看| 免费不卡欧美自拍视频| 性亚洲最疯狂xxxx高清| 久久久久久综合网天天| 欧美激情乱人伦| 欧美—级a级欧美特级ar全黄| 久久精品国产亚洲| 国产精品美女网站| 国产精品免费久久久久影院| 一区二区国产精品视频| 97久久超碰福利国产精品…| 精品久久久久久中文字幕| 国产97在线观看| 国产精品揄拍500视频| 91精品91久久久久久| 久久久久久久久国产精品| 这里只有精品视频| 97色在线观看免费视频| 亚洲国产天堂久久国产91| 国产精品久久久久91| 精品偷拍一区二区三区在线看| 96sao精品视频在线观看| 亚洲欧洲国产精品| 亚洲深夜福利网站| 久久99热这里只有精品国产| 日韩精品在线免费观看视频| 欧美最猛性xxxxx免费| 欧美孕妇与黑人孕交| 国产精品久久久久久久久久尿| 98视频在线噜噜噜国产| 亚洲欧洲自拍偷拍| 亚洲欧美精品中文字幕在线| 久久久www成人免费精品张筱雨| 欧美成人精品一区| 亚洲精品久久久久久久久| 中日韩美女免费视频网址在线观看| 国产精品最新在线观看| 久久久国产影院| 日韩一区二区精品视频| 78色国产精品| 国产精品露脸自拍| 久久久精品视频在线观看| 热re91久久精品国99热蜜臀| 成人黄色av网| 国产精品欧美日韩| 亚洲大尺度美女在线| 国产成人免费av| 国产精品福利在线观看网址| 俺去亚洲欧洲欧美日韩| 91精品久久久久久久久久另类| 久久天天躁狠狠躁夜夜躁| 秋霞成人午夜鲁丝一区二区三区| 亚洲国产精品久久久久| 国产成人精品综合久久久| 欧美大肥婆大肥bbbbb| 国产精品免费久久久久影院| 久久久国产影院| 亚洲女人天堂成人av在线| 久久久亚洲国产| 国产精品白嫩美女在线观看| 成人信息集中地欧美| 中文字幕欧美日韩精品| 久久中文字幕一区| 亚洲国产精品久久久久秋霞不卡| 国产午夜精品免费一区二区三区| 78m国产成人精品视频| 一区二区在线免费视频| 成人黄色av网| 中文字幕亚洲情99在线| 久久影院中文字幕| 精品网站999www| 亚洲男人的天堂在线播放| 亚洲欧美中文字幕| 久久久久久久国产| 欧美日本高清视频| 一个色综合导航| 久久国产精品久久精品| 日韩欧美精品在线观看| 欧美最猛黑人xxxx黑人猛叫黄| 中文字幕在线看视频国产欧美在线看完整| 久久久午夜视频| 亚洲国产天堂网精品网站| 国产精品永久免费视频| 国产欧美日韩中文字幕| 亚洲精品欧美一区二区三区| 国内精品模特av私拍在线观看| 日韩精品在线视频观看| 欧美激情第99页| 亚洲片av在线| 欧美最猛性xxxxx免费| 色青青草原桃花久久综合| 久久伊人精品一区二区三区| 欧美丝袜美女中出在线| 亚洲最大成人在线| 亚洲午夜未删减在线观看| 亚洲丝袜在线视频| 一区二区三区回区在观看免费视频| 欧美丰满片xxx777| 欧美性理论片在线观看片免费| 久久久国产影院| 久久久久成人网| 成人亲热视频网站| 亚洲欧美日韩在线一区| 国产成人精品综合久久久| 尤物yw午夜国产精品视频| 国产精品扒开腿爽爽爽视频| 在线性视频日韩欧美| 91av在线国产| 亚洲人成五月天| 成人av番号网| 国产欧美日韩亚洲精品| 91精品国产综合久久香蕉| 亚洲无限乱码一二三四麻| 日韩美女av在线免费观看| 久久国产精品偷| 欧美激情网友自拍| 欧美成人免费网| 色妞欧美日韩在线| 日韩在线视频免费观看| 欧美日韩综合视频| 久久精品一区中文字幕| 97婷婷大伊香蕉精品视频| 亚洲xxx自由成熟| 亚洲天堂日韩电影| 奇米一区二区三区四区久久| 亚洲国产高清福利视频| 国产精品自产拍高潮在线观看| 日本成人免费在线| 亚洲精品国产美女| 国产欧美日韩精品丝袜高跟鞋| 3344国产精品免费看| 日韩av免费在线观看| 成人黄色在线观看| 欧美日韩成人在线视频| 国产一区二区三区免费视频| 96sao精品视频在线观看| 国产欧美日韩丝袜精品一区| 亚洲欧美国产精品久久久久久久| 国产aⅴ夜夜欢一区二区三区| 欧美疯狂做受xxxx高潮| 亚洲第一视频网| 中文欧美日本在线资源| 91久久夜色精品国产网站| 国产精品成人品| 91社区国产高清| 国产精品网站大全|