婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 如何為MongoDB添加分片副本集

如何為MongoDB添加分片副本集

熱門標簽:青白江400企業電話申請 長沙電銷外呼防封卡是什么 crm外呼系統聯系方式 智能外呼系統官網 內蒙古營銷智能外呼系統哪個好 外呼線路資源屬于電信業務嗎 小裙科技電銷機器人怎樣 呼和浩特外呼系統原理是什么 河南電話外呼系統招商

   背景是這樣的:線上一個MongoDB集群保存了很多歷史數據,這些歷史數據是按照時間字段進行分片的,最近到了2021年,有些分片的截止時間要到了,為了能容納更多的數據,需要在當前分片的基礎上增加相應的分片。

   線上環境中,每個分片本身也是一個3副本的副本集,所以添加的時候有些特定的流程需要注意,我再測試環境中簡單測了一下這個過程,記錄下來。

    整個過程大概的流程是:

1、新建分片副本集

2、使用addShard命令將分片副本集添加到集群中

3、使用addShardTag命令為分片打標簽

4、使用addTagRange命令為打好標簽的分片設置片鍵的數值區間,注意,各個分片的數值區間不能有重復。

   目前測試環境的架構是:

01 新建副本集

   由于我們即將加入集群的分片是一個副本集,因此,需要提前將這個副本集創建好,創建的過程相對比較容易,按照之前的步驟來進行搭建,這里給出鏈接:

MongoDB 副本集的搭建

02 副本集添加到已有的集群中(addShard)

   這一步也比較簡單,可以直接在mongos上的admin數據庫使用命令addShard即可:

db.runCommand({addShard:"sharding_yeyz1/127.0.0.1:27024,127.0.0.1:27025,127.0.0.1:27026"})

當然,你也可以直接使用db.adminCommand命令來代替db.runCommand命令,這兩個命令的區別是adminCommand命令默認是在admin數據庫下面執行的,而runCommand默認的是當前數據庫。

上面的命令,將本地的:

27024、27025、27026端口加入到集群中。到這里架構會變成:

03 添加分片時間標簽(addShardTag)

     分片加入到集群之后,還需要對分片添加Tag,添加Tag的目的,是讓我們知道,當前分片上保留的業務數據是哪一個時間段的。在測試環境中,我使用1_1000和1000_2000這兩個tag來測試,命令如下:

sh.addShardTag("sharding_yeyz", "1_1000")
sh.addShardTag("sharding_yeyz1", "1000_2000")

對上面的命令簡單進行解釋,其中:

sharding_yeyz和sharding_yeyz1是分片副本集的名稱;

1_1000和1000_2000是tag的名稱。

添加完畢之后,我們可以通過系統的config庫下面的tag表看到tag的情況,如下:

mongos> db.shards.find()
{ "_id" : "sharding_yeyz", "host" : "sharding_yeyz/127.0.0.1:27018,127.0.0.1:27019,127.0.0.1:27020", "state" : 1, "tags" : [ "1_1000" ] }
{ "_id" : "sharding_yeyz1", "host" : "sharding_yeyz1/127.0.0.1:27024,127.0.0.1:27025,127.0.0.1:27026", "state" : 1, "tags" : [ "1000_2000" ] }

04 給打好的標簽添加具體的數值范圍(addTagRange)

   設定好標簽之后,需要設置每個標簽所代表的分片上具體的數值范圍,這就要用到addTagRange函數,使用方法如下:

sh.addTagRange( "new.test",
  { number: 1},
  { number: 1000},
  "1_1000"
  )
sh.addTagRange( "new.test",
  { number: 1000},
  { number: 2000},
  "1000_2000"
  )

注意,這里數值范圍是指分片的那個集合的片鍵的數值范圍。

分片永遠是針對集合說的。

上面的命令是說,我們對數據庫new下面的test集合做了分片,它的片鍵值是number這個字段:

當number屬于[1,1000)的時候,該文檔存放在tag是"1_1000"的這個分片上,也就是sharding_yeyz;

當number屬于[1000,2000)的時候,該文檔存放在tag是"1000_2000"的這個分片上,也就是sharding_yeyz1;

注意,區間為左閉右開。

05 查看結果

    添加分片并設置分片的數值范圍之后,我們可以使用:

db.printShardingStatus()命令或者sh.status()命令來查看當前集群中的分片情況:

mongos> sh.status()
--- Sharding Status --- 
 sharding version: {
 "_id" : 1,
 "minCompatibleVersion" : 5,
 "currentVersion" : 6,
 "clusterId" : ObjectId("5fafaf4f5785d9965548f687")
 }
 shards:
 { "_id" : "sharding_yeyz", "host" : "sharding_yeyz/127.0.0.1:27018,127.0.0.1:27019,127.0.0.1:27020", "state" : 1, "tags" : [ "1_1000" ] }
 { "_id" : "sharding_yeyz1", "host" : "sharding_yeyz1/127.0.0.1:27024,127.0.0.1:27025,127.0.0.1:27026", "state" : 1, "tags" : [ "1000_", "1000_2000" ] }
 active mongoses:
 "4.0.6" : 1
 autosplit:
 Currently enabled: yes
 balancer:
 Currently enabled: yes
 Currently running: no
 Failed balancer rounds in last 5 attempts: 0
 Migration Results for the last 24 hours: 
  No recent migrations
 databases:
 { "_id" : "config", "primary" : "config", "partitioned" : true }
  config.system.sessions
   shard key: { "_id" : 1 }
   unique: false
   balancing: true
   chunks:
    sharding_yeyz 1
   { "_id" : { "$minKey" : 1 } } -->> { "_id" : { "$maxKey" : 1 } } on : sharding_yeyz Timestamp(1, 0) 
 { "_id" : "new", "primary" : "sharding_yeyz", "partitioned" : true, "version" : { "uuid" : UUID("68c70c64-f732-4478-8851-06dad4b94d6b"), "lastMod" : 1 } }
  new.test
   shard key: { "number" : 1 }
   unique: false
   balancing: true
   chunks:
    sharding_yeyz 3
    sharding_yeyz1 1
   { "number" : { "$minKey" : 1 } } -->> { "number" : 1 } on : sharding_yeyz Timestamp(2, 1) 
   { "number" : 1 } -->> { "number" : 1000 } on : sharding_yeyz Timestamp(1, 2) 
   { "number" : 1000 } -->> { "number" : 2000 } on : sharding_yeyz1 Timestamp(2, 0) 
   { "number" : 2000 } -->> { "number" : { "$maxKey" : 1 } } on : sharding_yeyz Timestamp(1, 5) 
    tag: 1_1000 { "number" : 1 } -->> { "number" : 1000 }
    tag: 1000_2000 { "number" : 1000 } -->> { "number" : 2000 }

到了這里,我們開始驗證最終的結果,先通過下面的命令生成一組測試數據,如下:

for (var i=1 ;i=2000 ; i++){ db.test.insert({"number":i})}

去查看每個分片上的內容,可以發現:

sharding_yeyz

sharding_yeyz:PRIMARY> db.test.find().sort({"number":-1})
{ "_id" : ObjectId("5ffc051dd4c416daac620af5"), "number" : 2000 }
{ "_id" : ObjectId("5ffc0511d4c416daac620325"), "number" : 2000 }
{ "_id" : ObjectId("5ffc051bd4c416daac62070c"), "number" : 999 }
{ "_id" : ObjectId("5ffc050fd4c416daac61ff3c"), "number" : 999 }
{ "_id" : ObjectId("5ffc051bd4c416daac62070b"), "number" : 998 }
{ "_id" : ObjectId("5ffc050fd4c416daac61ff3b"), "number" : 998 }
{ "_id" : ObjectId("5ffc051bd4c416daac62070a"), "number" : 997 }
{ "_id" : ObjectId("5ffc050fd4c416daac61ff3a"), "number" : 997 }
{ "_id" : ObjectId("5ffc051bd4c416daac620709"), "number" : 996 }
{ "_id" : ObjectId("5ffc050fd4c416daac61ff39"), "number" : 996 }
{ "_id" : ObjectId("5ffc051bd4c416daac620708"), "number" : 995 }

    這里需要注意,為什么2000這個值還是出現在分片一上呢?

這個原因是在設置分片的數值范圍的時候,我們設置的區間是左閉右開的。而我們設置的分片范圍分別是[1,1000)和[1000,2000),因此2000這個數字就被隨機分配到這兩個分片中,實際的情況是,它被分配到了分片一中。

sharding_yeyz1

sharding_yeyz1:PRIMARY> db.test.find().sort({"number":-1})
{ "_id" : ObjectId("5ffc051dd4c416daac620af4"), "number" : 1999 }
{ "_id" : ObjectId("5ffc0511d4c416daac620324"), "number" : 1999 }
{ "_id" : ObjectId("5ffc051dd4c416daac620af3"), "number" : 1998 }
{ "_id" : ObjectId("5ffc0511d4c416daac620323"), "number" : 1998 }
{ "_id" : ObjectId("5ffc051dd4c416daac620af2"), "number" : 1997 }
{ "_id" : ObjectId("5ffc0511d4c416daac620322"), "number" : 1997 }
{ "_id" : ObjectId("5ffc051dd4c416daac620af1"), "number" : 1996 }
{ "_id" : ObjectId("5ffc0511d4c416daac620321"), "number" : 1996 }
{ "_id" : ObjectId("5ffc051dd4c416daac620af0"), "number" : 1995 }
{ "_id" : ObjectId("5ffc0511d4c416daac620320"), "number" : 1995 }
{ "_id" : ObjectId("5ffc051dd4c416daac620aef"), "number" : 1994 }
{ "_id" : ObjectId("5ffc0511d4c416daac62031f"), "number" : 1994 }
{ "_id" : ObjectId("5ffc051dd4c416daac620aee"), "number" : 1993 }
{ "_id" : ObjectId("5ffc0511d4c416daac62031e"), "number" : 1993 }
{ "_id" : ObjectId("5ffc051dd4c416daac620aed"), "number" : 1992 }
{ "_id" : ObjectId("5ffc0511d4c416daac62031d"), "number" : 1992 }

這個結果看著就比較正常了。

今天的內容就到這里吧。

以上就是如何為MongoDB添加分片副本集的詳細內容,更多關于為MongoDB添加分片副本集的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • 分布式文檔存儲數據庫之MongoDB分片集群的問題
  • MongoDB搭建高可用集群的完整步驟(3個分片+3個副本)
  • Mongodb副本集和分片示例詳解
  • MongoDB分片集群部署詳解
  • MongoDB分片在部署與維護管理中常見的事項總結大全
  • 詳解MongoDB4.0構建分布式分片群集
  • MongoDB分片鍵的選擇和案例實例詳解
  • MongoDB分片詳解
  • mongodb分片技術_動力節點Java學院整理
  • mongodb3.4集群搭建實戰之高可用的分片+副本集
  • 深入理解MongoDB分片的管理
  • Mongodb 刪除添加分片與非分片表維護
  • MongoDB 主分片(primary shard)相關總結

標簽:池州 菏澤 白山 舟山 黃石 楚雄 安順 呼倫貝爾

巨人網絡通訊聲明:本文標題《如何為MongoDB添加分片副本集》,本文關鍵詞  如,何為,MongoDB,添加,分片,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《如何為MongoDB添加分片副本集》相關的同類信息!
  • 本頁收集關于如何為MongoDB添加分片副本集的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美老女人在线| 欧美视频一区在线| 欧美日韩一区二区电影| 欧美成人免费网站| 亚洲欧美一区二区三区孕妇| 日韩av中文字幕一区二区三区| 成人免费av资源| 日韩欧美色综合网站| 亚洲精品中文在线观看| 久久精品国产99国产| 欧美色网站导航| 中文成人综合网| 韩日av一区二区| 91精品国产欧美日韩| 中文字幕一区二区三区在线观看| 捆绑调教一区二区三区| 欧美影院一区二区三区| 欧美激情一区二区三区在线| 裸体一区二区三区| 欧美美女一区二区在线观看| 亚洲手机成人高清视频| 国产九九视频一区二区三区| 日韩免费观看高清完整版| 亚洲一区二区三区自拍| 99v久久综合狠狠综合久久| www精品美女久久久tv| 日日夜夜免费精品| 91麻豆精品91久久久久久清纯| 伊人夜夜躁av伊人久久| voyeur盗摄精品| 欧美国产亚洲另类动漫| 国产suv精品一区二区883| 久久这里只有精品首页| 久久精品国产99| 久久一夜天堂av一区二区三区| 久久er99精品| 国产亚洲欧美在线| 成人手机在线视频| 亚洲欧洲日韩在线| 91精品1区2区| 亚洲一区av在线| 欧美妇女性影城| 日韩高清不卡一区二区三区| 欧美高清一级片在线| 日韩激情视频在线观看| 欧美一区二区三区视频免费播放| 日本美女一区二区| 91在线码无精品| 欧美日本在线播放| 欧美a级一区二区| 欧美成人精品高清在线播放| 国产在线视频不卡二| 欧美不卡123| 国产精品66部| 亚洲欧美色图小说| 欧美日韩一二三| 看电视剧不卡顿的网站| 国产欧美日韩精品在线| voyeur盗摄精品| 调教+趴+乳夹+国产+精品| 日韩午夜激情免费电影| 高清在线不卡av| 一区二区三区免费网站| 欧美一区二区三区在线电影| 极品少妇xxxx偷拍精品少妇| 中文字幕不卡一区| 欧美老肥妇做.爰bbww视频| 美女mm1313爽爽久久久蜜臀| 国产精品乱码久久久久久 | 久久99这里只有精品| 久久久久久久久97黄色工厂| jvid福利写真一区二区三区| 婷婷久久综合九色综合伊人色| 日韩精品中文字幕在线一区| 成人av午夜电影| 日韩国产欧美三级| 中文字幕一区二区三区不卡 | 亚洲成人tv网| 久久久蜜桃精品| 欧美日韩一区二区在线观看视频| 国产乱妇无码大片在线观看| 亚洲bdsm女犯bdsm网站| 久久久久久久久久久久久夜| 欧美猛男男办公室激情| 不卡一卡二卡三乱码免费网站| 五月激情丁香一区二区三区| 国产精品女人毛片| 久久亚洲综合色一区二区三区 | 99国产精品国产精品毛片| 麻豆极品一区二区三区| 一区二区在线免费| 欧美国产综合色视频| 欧美成人在线直播| 9191久久久久久久久久久| 福利一区二区在线| 九色综合狠狠综合久久| 亚洲第一综合色| 午夜影视日本亚洲欧洲精品| 91精品办公室少妇高潮对白| 国产一区二区91| 蜜桃av噜噜一区| 视频在线观看一区| 亚洲国产视频网站| 亚洲色图制服丝袜| 国产精品久久久久久妇女6080| 2欧美一区二区三区在线观看视频| 欧美日韩高清影院| 91成人在线观看喷潮| 99免费精品视频| 国产成人av电影免费在线观看| 国产在线播放一区三区四| 麻豆国产91在线播放| 亚洲一区二区三区在线看| 亚洲裸体xxx| 一区二区三区蜜桃| 一区二区三区**美女毛片| 国产精品每日更新| 综合电影一区二区三区| 1024精品合集| 亚洲色欲色欲www| 亚洲永久免费av| 亚洲成人在线观看视频| 日韩精品一区第一页| 亚洲国产va精品久久久不卡综合| 亚洲福利视频三区| 日韩有码一区二区三区| 日韩国产高清影视| 美女网站色91| 国产麻豆精品一区二区| 国产不卡高清在线观看视频| 不卡区在线中文字幕| 色综合天天在线| 欧美视频一区二区三区在线观看| 91精品综合久久久久久| 2017欧美狠狠色| 综合欧美亚洲日本| 天堂蜜桃91精品| 韩国精品在线观看| 成人av电影在线| 在线影院国内精品| 欧美大黄免费观看| 国产色产综合色产在线视频| 亚洲欧洲日韩女同| 日韩激情av在线| 国产精品中文有码| 色视频一区二区| 欧美成人vr18sexvr| 国产精品成人一区二区三区夜夜夜| 一个色综合av| 久久精品免费观看| voyeur盗摄精品| 91精品欧美久久久久久动漫| 91精品国产乱码久久蜜臀| 精品国精品自拍自在线| 国产欧美精品一区aⅴ影院| 亚洲女同一区二区| 麻豆精品视频在线观看视频| 国产成a人亚洲精品| 欧美三级欧美一级| 久久久国产综合精品女国产盗摄| 亚洲精品综合在线| 麻豆国产欧美日韩综合精品二区| 97se亚洲国产综合自在线观| 日韩一区国产二区欧美三区| 亚洲视频1区2区| 久久成人18免费观看| 色网站国产精品| 久久夜色精品一区| 日韩在线一区二区三区| 色噜噜偷拍精品综合在线| 欧美精品一区二区三| 亚洲网友自拍偷拍| 成人精品国产一区二区4080| 欧美电影在线免费观看| 亚洲精品国产a久久久久久| 狠狠色狠狠色综合日日91app| 欧美日韩黄色影视| 99re这里只有精品首页| 欧美亚洲另类激情小说| 欧美xxxxxxxx| 亚洲国产精品一区二区久久| 国产精品一区二区三区乱码| 欧美日韩一区精品| 成人欧美一区二区三区白人| 亚洲第一精品在线| 色狠狠色噜噜噜综合网| 精品日韩av一区二区| 一区二区三区四区在线免费观看 | 亚洲视频一区在线| 欧美一区三区二区| 亚洲欧洲日韩在线| 亚洲不卡av一区二区三区| 99久久er热在这里只有精品66| 宅男在线国产精品| 国产精品第一页第二页第三页| 国产精品99久久久久久久女警| 制服丝袜日韩国产| 亚洲图片自拍偷拍| 欧美日韩国产精品成人| 亚洲日本va午夜在线影院|