欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

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

如何為MongoDB添加分片副本集

熱門標(biāo)簽:青白江400企業(yè)電話申請 長沙電銷外呼防封卡是什么 crm外呼系統(tǒng)聯(lián)系方式 智能外呼系統(tǒng)官網(wǎng) 內(nèi)蒙古營銷智能外呼系統(tǒng)哪個好 外呼線路資源屬于電信業(yè)務(wù)嗎 小裙科技電銷機(jī)器人怎樣 呼和浩特外呼系統(tǒng)原理是什么 河南電話外呼系統(tǒng)招商

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

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

    整個過程大概的流程是:

1、新建分片副本集

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

3、使用addShardTag命令為分片打標(biāo)簽

4、使用addTagRange命令為打好標(biāo)簽的分片設(shè)置片鍵的數(shù)值區(qū)間,注意,各個分片的數(shù)值區(qū)間不能有重復(fù)。

   目前測試環(huán)境的架構(gòu)是:

01 新建副本集

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

MongoDB 副本集的搭建

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

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

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

當(dāng)然,你也可以直接使用db.adminCommand命令來代替db.runCommand命令,這兩個命令的區(qū)別是adminCommand命令默認(rèn)是在admin數(shù)據(jù)庫下面執(zhí)行的,而runCommand默認(rèn)的是當(dāng)前數(shù)據(jù)庫。

上面的命令,將本地的:

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

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

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

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

對上面的命令簡單進(jìn)行解釋,其中:

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

1_1000和1000_2000是tag的名稱。

添加完畢之后,我們可以通過系統(tǒng)的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 給打好的標(biāo)簽添加具體的數(shù)值范圍(addTagRange)

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

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

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

分片永遠(yuǎn)是針對集合說的。

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

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

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

注意,區(qū)間為左閉右開。

05 查看結(jié)果

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

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

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 }

到了這里,我們開始驗(yàn)證最終的結(jié)果,先通過下面的命令生成一組測試數(shù)據(jù),如下:

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

去查看每個分片上的內(nèi)容,可以發(fā)現(xiàn):

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這個值還是出現(xiàn)在分片一上呢?

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

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 }

這個結(jié)果看著就比較正常了。

今天的內(nèi)容就到這里吧。

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

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

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《如何為MongoDB添加分片副本集》,本文關(guān)鍵詞  如,何為,MongoDB,添加,分片,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《如何為MongoDB添加分片副本集》相關(guān)的同類信息!
  • 本頁收集關(guān)于如何為MongoDB添加分片副本集的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    看免费黄色录像| 欧美亚洲综合在线| 在线观看国产一区二区| 国产欧美久久久精品影院| 日韩高清欧美激情| 深夜视频在线观看| 日本韩国欧美国产| 国产精品久久久久影院亚瑟| 久久99精品久久久久| 中文字幕一区二区久久人妻网站| 在线国产亚洲欧美| 精品影院一区二区久久久| 久久国产精品第一页| 中国极品少妇xxxx| 欧美日韩国产免费| 亚洲女人的天堂| av在线不卡观看免费观看| 中国1级黄色片| 久久久五月婷婷| 亚洲成年人网站在线观看| 四虎国产精品免费| 欧美三级乱人伦电影| 亚洲精品日日夜夜| 下面一进一出好爽视频| 91搞黄在线观看| 亚洲精品五月天| 18深夜在线观看免费视频| 日本高清免费不卡视频| 亚洲女人****多毛耸耸8| 国产成人精品亚洲777人妖| 成人精品999| 精品国产91久久久久久久妲己 | 欧美日韩激情一区| 亚洲一区二区三区在线看| 99免费观看视频| 日韩一区二区在线看| 日本aⅴ亚洲精品中文乱码| 午夜理伦三级做爰电影| 久久一留热品黄| 国产成人99久久亚洲综合精品| 日韩在线观看免| 国产精品久久久久aaaa| 大尺度一区二区| 日本国产一区二区| 亚洲午夜视频在线观看| 大乳护士喂奶hd| 精品裸体舞一区二区三区| 国产在线国偷精品免费看| 女同久久另类69精品国产| 亚洲欧美日韩国产综合在线| 91网站在线观看视频| 欧美日韩精品福利| 久久激情五月婷婷| www成人啪啪18软件| 国产精品久久国产精麻豆99网站| 成人福利视频在线| 欧美日韩国产中文| 麻豆精品一区二区av白丝在线| 夫妇露脸对白88av| 亚洲欧美另类小说| 在线观看国产免费视频| 久久久三级国产网站| www.久久久久久久久| 欧美高清激情brazzers| 久久国产欧美日韩精品| 色综合天天做天天爱| 亚洲国产精品一区二区久久| 老熟妇精品一区二区三区| 日韩视频免费观看高清完整版| 激情综合色播激情啊| 一本久久综合亚洲鲁鲁五月天| 亚洲v中文字幕| a级黄色免费视频| 亚洲乱码国产乱码精品精可以看| 黄色国产在线观看| 国产精品国产三级国产a| 黄色国产在线视频| 久久久国际精品| 少妇愉情理伦片bd| 国产91精品欧美| 国产大学生视频| 国产欧美日韩综合精品一区二区| 99精品在线观看视频| 欧美tk—视频vk| 99国内精品久久| 欧美成人国产一区二区| eeuss鲁片一区二区三区| 欧美成人乱码一区二区三区| 白白色亚洲国产精品| 日韩欧美www| 91视视频在线直接观看在线看网页在线看 | 美女脱光内衣内裤| 亚洲靠逼com| 日本免费www| 性做久久久久久免费观看欧美| 99成人在线观看| 日韩电影在线观看一区| 少妇aaaaa| 久久精品av麻豆的观看方式| 精品视频在线看| 成人综合婷婷国产精品久久蜜臀| 欧美日韩高清不卡| 国产成人综合在线观看| 9191国产精品| 91网站最新地址| 日本一区二区免费在线 | 北条麻妃国产九九精品视频| 精品久久久久99| 欧美人与性动交α欧美精品| 欧美国产日韩一二三区| 亚洲第一成人网站| 午夜视频一区二区三区| 91精彩视频在线| 国产精品夜夜爽| 精品国产百合女同互慰| 国产伦精品一区三区精东| 亚洲人快播电影网| www.com.av| 激情五月播播久久久精品| 欧美一区二区网站| 亚洲性图第一页| 国产亚洲精品aa午夜观看| 欧美bbbbb性bbbbb视频| 亚洲人成网站精品片在线观看| 国产大屁股喷水视频在线观看| 麻豆视频一区二区| 日韩一级片网站| 久久人妻少妇嫩草av无码专区| 日本一区二区不卡视频| 天天摸日日摸狠狠添| 久久91精品久久久久久秒播| 欧美性猛交xxxx黑人交| av一区二区久久| 一区免费观看视频| 欧美黑人猛猛猛| 成人一级黄色片| 国产精品久久久久影院色老大| 美国黑人一级大黄| 精品一区二区三区的国产在线播放 | 91成人国产精品| 不卡视频一二三四| 国产精品色哟哟网站| 中文字幕求饶的少妇| 国产成人欧美日韩在线电影| 久久精品一二三| 人人艹在线视频| 国产精品一二三区| 国产精品欧美一区喷水| 天海翼在线视频| 成人网男人的天堂| 欧美极品美女视频| 污污的视频在线免费观看| 国产一区二区伦理| 国产精品伦一区二区三级视频| 免费国产羞羞网站美图| 成人午夜看片网址| 亚洲色图在线视频| 欧美日韩一区二区在线视频| 国产乱国产乱老熟300部视频| 亚洲韩国一区二区三区| 91精品国产麻豆国产自产在线| 国产又黄又粗又猛又爽的视频 | 亚洲乱码国产乱码精品精98午夜| 在线免费观看成人短视频| 亚洲精品久久久久久| 午夜精品福利一区二区三区蜜桃| 91精品国产综合久久久久久久久久| 国产又黄又粗又猛又爽的视频| 韩国v欧美v日本v亚洲v| 亚洲婷婷在线视频| 91精品国产91久久综合桃花| 精品国产aaa| 91免费版pro下载短视频| 日韩精品亚洲一区二区三区免费| 国产亚洲精品久| 欧美日韩黄色影视| 91成人精品一区二区| 日本黄色一级网站| 久久av中文字幕片| 亚洲欧美日韩国产手机在线| 欧美一级黄色录像| 极品魔鬼身材女神啪啪精品| 中国xxxx性xxxx产国| 国产精品夜夜爽| 午夜欧美电影在线观看| 日本一区二区不卡视频| 欧美精品xxxxbbbb| 欧美色视频一区二区三区在线观看| 国产又黄又嫩又滑又白| 国产一区激情在线| 亚洲国产精品视频| 国产精品美女一区二区在线观看| 欧美伦理电影网| 精品国产视频在线观看| 欧美深性狂猛ⅹxxx深喉| 高清国产一区二区三区| 日本亚洲视频在线| 一区二区三区中文在线观看| 久久女同精品一区二区| 欧美精品电影在线播放|