激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫(kù)技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫(kù) - MongoDB - MongoDB分片在部署與維護(hù)管理中常見的事項(xiàng)總結(jié)大全

MongoDB分片在部署與維護(hù)管理中常見的事項(xiàng)總結(jié)大全

2020-05-19 15:03東山絮柳仔 MongoDB

分片(sharding)是指將數(shù)據(jù)拆分,將其分散存放在不同的機(jī)器上的過程。下面這篇文章主要給大家總結(jié)介紹了關(guān)于MongoDB分片在部署與維護(hù)管理中常見事項(xiàng)的相關(guān)資料,文中通過圖文以及示例代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

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

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

使用分片的時(shí)機(jī):

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

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

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

和既有的分庫(kù)分表、分區(qū)方案相比,MongoDB的最大區(qū)別在于它幾乎能自動(dòng)完成所有事情,只要告訴MongoDB要分配數(shù)據(jù),它就能自動(dòng)維護(hù)數(shù)據(jù)在不同服務(wù)器之間的均衡。

一. 分片的集群組件

MongoDB分片在部署與維護(hù)管理中常見的事項(xiàng)總結(jié)大全

1.Mongos 【路由】

作為請(qǐng)求的訪問入口,所有的請(qǐng)求都由mongos來路由、分發(fā)、合并,這些動(dòng)作對(duì)客戶端driver透明,用戶連接mongos就像連接mongod一樣使用。Mongos會(huì)根據(jù)請(qǐng)求類型及shard key將請(qǐng)求路由到對(duì)應(yīng)的Shard。

2.Config Server 【配置服務(wù)器】

存儲(chǔ)Sharding Cluster 的所有元數(shù)據(jù),所有的元數(shù)據(jù)都存儲(chǔ)在config數(shù)據(jù)庫(kù);

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

3. Shard 【分片】

存儲(chǔ)應(yīng)用數(shù)據(jù)記錄。

二. 分片優(yōu)勢(shì)

1.對(duì)集群進(jìn)行抽象,讓集群“不可見”,分片對(duì)應(yīng)用系統(tǒng)是透明的。

Mongos是專有路由進(jìn)程,其會(huì)將客戶端發(fā)來的請(qǐng)求準(zhǔn)確無誤的路由到集群中的一個(gè)或者一組服務(wù)器上,同時(shí)會(huì)把接收到的響應(yīng)拼裝起來發(fā)回到客戶端。

2.保證集群總是可讀寫

將MongoDB的分片和復(fù)制集功能結(jié)合使用,在確保數(shù)據(jù)分片到多臺(tái)服務(wù)器的同時(shí),也確保了每分?jǐn)?shù)據(jù)都有相應(yīng)的備份,可以確保有服務(wù)器壞掉時(shí),其他的從庫(kù)可以立即接替壞掉的部分繼續(xù)工作。提高了集群的可用性和可靠性。

3.使集群易于擴(kuò)展

當(dāng)系統(tǒng)需要更多的空間和資源的時(shí)候,MongoDB使我們可以按需方便的擴(kuò)充系統(tǒng)容量。

三. 分片部署注意事項(xiàng)(常見錯(cuò)誤)

1.配置可復(fù)制集作為分片節(jié)點(diǎn)與配置單獨(dú)使用的可復(fù)制集基本一樣。但啟動(dòng)參數(shù)中需指定—shardsvr參數(shù)。

否則,在啟動(dòng)數(shù)據(jù)庫(kù)分片時(shí)報(bào)錯(cuò): {"code" : 193,"ok" : 0, "errmsg" : "Cannot accept sharding commands if not started with --shardsvr“}

2.創(chuàng)建配置服務(wù)器集群時(shí),不能設(shè)置見證節(jié)點(diǎn)。

否則,報(bào)錯(cuò) "errmsg" :  "Arbiters are not allowed in replica set configurations being used for config servers"

3.配置Mongos 實(shí)例時(shí),請(qǐng)不要配置dbpath參數(shù)。

否則,設(shè)置dbpath參數(shù),服務(wù)無法正常啟動(dòng),報(bào)錯(cuò):Error parsing INI config file: unrecognised option 'dbpath'

4.配置Mongos 實(shí)例時(shí),需設(shè)置Keyfile。

否則,不設(shè)置Keyfile,Service無法正常啟動(dòng), 報(bào)錯(cuò):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è)置。

分片不會(huì)默認(rèn)生成,需要先在數(shù)據(jù)庫(kù)中啟動(dòng)分片(sh.enableSharding(“DBName”) ),然后再設(shè)置集合分片(sh.shardCollection(“Collection”{片鍵})

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

1.檢查shards 配置及狀態(tài)

?
1
db.runCommand({listshards:1})

MongoDB分片在部署與維護(hù)管理中常見的事項(xiàng)總結(jié)大全

2. 檢查數(shù)據(jù)庫(kù)主片的地址以及是否分區(qū)

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

MongoDB分片在部署與維護(hù)管理中常見的事項(xiàng)總結(jié)大全

3. 檢查數(shù)據(jù)塊的數(shù)量

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

MongoDB分片在部署與維護(hù)管理中常見的事項(xiàng)總結(jié)大全

4. 查看分片的詳細(xì)信息,包括數(shù)據(jù)庫(kù)信息和范圍信息

?
1
sh.status()

MongoDB分片在部署與維護(hù)管理中常見的事項(xiàng)總結(jié)大全

5. 索引是優(yōu)化查詢性能的重要手段。當(dāng)在分片集合上聲明索引時(shí),每個(gè)分片都會(huì)為自己的集合部分定義單獨(dú)的索引。分片集合只允許在_id字段和分片鍵上建立唯一索引。

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

分割是把一個(gè)大的數(shù)據(jù)塊分割為2個(gè)更小的數(shù)據(jù)塊的過程。遷移就是在分片之間移動(dòng)數(shù)據(jù)塊的過程。當(dāng)某些分片服務(wù)器包含的數(shù)據(jù)塊數(shù)據(jù)量大大超過其他分片服務(wù)器時(shí)就會(huì)觸發(fā)遷移的過程,這個(gè)觸發(fā)器叫做遷移回合(migration round)

6.1 遷移觸發(fā)條件

MongoDB分片在部署與維護(hù)管理中常見的事項(xiàng)總結(jié)大全

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

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

MongoDB分片在部署與維護(hù)管理中常見的事項(xiàng)總結(jié)大全

6.4. 默認(rèn)情況下 Balancer 進(jìn)程一直在運(yùn)行,為了降低Balancer進(jìn)程對(duì)系統(tǒng)的運(yùn)行,可以為Balancer進(jìn)程設(shè)置運(yùn)行時(shí)間窗口,讓Balancer進(jìn)程在指定的時(shí)間窗口操作。

6.4.1 例如設(shè)置Balancer進(jìn)程在23:00到6:00時(shí)間窗口內(nèi)執(zhí)行。

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

MongoDB分片在部署與維護(hù)管理中常見的事項(xiàng)總結(jié)大全

6.4.2 刪除Balancer進(jìn)程運(yùn)行時(shí)間窗口

MongoDB分片在部署與維護(hù)管理中常見的事項(xiàng)總結(jié)大全

6.5. 查看塊的范圍

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

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

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

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

五. 備注

分片集群管理的數(shù)據(jù)量比較大,并且分片的架構(gòu)相對(duì)比較復(fù)雜。所以,一定在業(yè)務(wù)需求需要上分片時(shí),再上分片,且不可準(zhǔn)求“炫”的技術(shù)而上分片。另外,上線后,相關(guān)的監(jiān)控一定要部署,逐漸完善。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)服務(wù)器之家的支持。

原文鏈接:https://www.cnblogs.com/xuliuzai/p/9620163.html

延伸 · 閱讀

精彩推薦
  • MongoDBMongoDB 內(nèi)存使用情況分析

    MongoDB 內(nèi)存使用情況分析

    都說 MongoDB 是個(gè)內(nèi)存大戶,但是怎么知道它到底用了多少內(nèi)存呢...

    MongoDB教程網(wǎng)10002020-09-29
  • MongoDBMongoDB中javascript腳本編程簡(jiǎn)介和入門實(shí)例

    MongoDB中javascript腳本編程簡(jiǎn)介和入門實(shí)例

    作為一個(gè)數(shù)據(jù)庫(kù),MongoDB有一個(gè)很大的優(yōu)勢(shì)——它使用js管理數(shù)據(jù)庫(kù),所以也能夠使用js腳本進(jìn)行復(fù)雜的管理——這種方法非常靈活 ...

    MongoDB教程網(wǎng)6982020-04-24
  • MongoDB分布式文檔存儲(chǔ)數(shù)據(jù)庫(kù)之MongoDB分片集群的問題

    分布式文檔存儲(chǔ)數(shù)據(jù)庫(kù)之MongoDB分片集群的問題

    這篇文章主要介紹了分布式文檔存儲(chǔ)數(shù)據(jù)庫(kù)之MongoDB分片集群的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋...

    Linux-18743072020-12-20
  • MongoDBMongodb實(shí)現(xiàn)定時(shí)備份與恢復(fù)的方法教程

    Mongodb實(shí)現(xiàn)定時(shí)備份與恢復(fù)的方法教程

    這篇文章主要給大家介紹了Mongodb實(shí)現(xiàn)定時(shí)備份與恢復(fù)的方法教程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面...

    chenjsh364522020-05-13
  • MongoDBMongoDB憑什么躋身數(shù)據(jù)庫(kù)排行前五

    MongoDB憑什么躋身數(shù)據(jù)庫(kù)排行前五

    MongoDB以比去年同期超出65.96分的成績(jī)繼續(xù)雄踞榜單前五,這個(gè)增幅在全榜僅次于PostgreSQL的77.99,而其相對(duì)于4月份的6.10分的增長(zhǎng)也是僅次于微軟SQL Server排名...

    孫浩峰3892020-05-22
  • MongoDBMongoDB安裝圖文教程

    MongoDB安裝圖文教程

    這篇文章主要為大家詳細(xì)介紹了MongoDB安裝圖文教程,分為兩大部分為大家介紹下載MongoDB和安裝MongoDB的方法,感興趣的小伙伴們可以參考一下 ...

    Yangyi.He6132020-05-07
  • MongoDB遷移sqlserver數(shù)據(jù)到MongoDb的方法

    遷移sqlserver數(shù)據(jù)到MongoDb的方法

    這篇文章主要介紹了遷移sqlserver數(shù)據(jù)到MongoDb的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下...

    聽楓xl9682021-01-03
  • MongoDBmongodb基本命令實(shí)例小結(jié)

    mongodb基本命令實(shí)例小結(jié)

    這篇文章主要介紹了mongodb基本命令,結(jié)合實(shí)例形式總結(jié)分析了MongoDB數(shù)據(jù)庫(kù)切換、查看、刪除、查詢等基本命令用法與操作注意事項(xiàng),需要的朋友可以參考下...

    dawn-liu3652020-05-26
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 香蕉黄色网 | 国产在线精品一区二区 | 国产精品视频一区二区三区四区五区 | 看国产毛片 | 亚洲天堂午夜 | 黄色特级毛片 | 免费a级毛片大学生免费观看 | 激情久久免费视频 | 毛片在线免费播放 | 久久久久久久一区二区 | www.91sese| 九九热免费精品视频 | 精品一区二区三区在线观看国产 | 欧美一级爱操视频 | 国产又粗又爽又深的免费视频 | 久久久久电影网站 | 国产精品午夜小视频观看 | 男女羞羞在线观看 | 国产激情视频在线 | 亚洲一区二区三区高清 | 意大利av在线 | 午色影院 | 久久成人精品视频 | 成人片免费看 | 欧美在线电影 | 在线观看日韩av电影 | 福利在线小视频 | 1000部精品久久久久久久久 | 久久久久久久爱 | 综合在线一区 | 亚洲福利在线视频 | 黄色片视频观看 | 成人免费自拍视频 | 成人毛片视频在线观看 | 国产精品久久久久久久久久三级 | 中国性xxx| 一级外国毛片 | 日韩欧美高清片 | 欧美成人激情在线 | 毛片免| 一级在线免费观看视频 |