mongodb 中怎么利用分片集群創(chuàng)建分片集合,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

1.創(chuàng)建數(shù)據(jù)庫(kù),直接use 即可,沒(méi)有的話,如果你創(chuàng)建集合了,他就自動(dòng)創(chuàng)建了!
use liuwenhe
2.插入數(shù)據(jù),如果hezi集合不存在,則自動(dòng)創(chuàng)建
for (var i = 0; i < 100; i++) { db.hezi.insert({name: i}); }
3.為hezi集合的name列添加索引,因?yàn)槿绻詎ame列作為分片鍵,需要有索引;
如果集合是空的,可以不創(chuàng)建索引直接進(jìn)行下一步的分片,會(huì)自動(dòng)創(chuàng)建索引;如果集合不為空,必須為分片建創(chuàng)建索引才行!,如果你要以hash規(guī)則分片,需要?jiǎng)?chuàng)建hash索引!
mongos> db.hezi.createIndex({"name":1})
mongos> db.hezi.createIndex({name:'hashed'}); 創(chuàng)建hash索引
4.為數(shù)據(jù)庫(kù)開(kāi)啟分片,這樣才能對(duì)數(shù)據(jù)庫(kù)liuwenhe下的集合做分片!
mongos> sh.enableSharding("liuwenhe");
5.開(kāi)啟集合hezi的分片!
1:升序,-1降序,hashed:哈希分布
sh.shardCollection("liuwenhe.hezi",{name:1}) ----基于值的分片
sh.shardCollection("liuwenhe.hezi", { "name" : "hashed" }) ----hash規(guī)則分片
6.查看集合是否開(kāi)啟分片:
mongos>use liuwenhe
mongos> db.hezi.stats().sharded
true
7.sh.status() 查看分片的信息:
可以看到liuhe庫(kù)的主分片是s1092111427021,然后liuhe.hezi這個(gè)集合的分片鍵是name列升序,liuhe.hezi這個(gè)集合目前就1個(gè)chunk,在s1092111427021節(jié)點(diǎn)上,所以這個(gè)時(shí)候你去別的節(jié)點(diǎn),例如s1092111427020上看,是沒(méi)有這個(gè)庫(kù)和這個(gè)集合的,當(dāng)你向liuhe.hezi插入數(shù)據(jù),直到觸發(fā)發(fā)生chunk遷移之后,這時(shí)候在別的分片才會(huì)有可能有這個(gè)集合!
mongos>sh.status()
{ "_id" : "liuwehehe", "primary" : "s1092111427021", "partitioned" : true, "version" : { "uuid" : UUID("46373baa-3f93-42c3-a7fd-51225ef00636"), "lastMod" : 1 } }
liuwenhe.hezi
shard key: { "name" : 1 }
unique: true
balancing: true
chunks:
s1092111427021 1
{ "name" : { "$minKey" : 1 } } -->> { "name" : { "$maxKey" : 1 } } on : s1092111427021 Timestamp(1, 0)
8.當(dāng)數(shù)據(jù)超過(guò)1個(gè)chunk之后,均勻分布在多個(gè)節(jié)點(diǎn)上,如下所示:
不斷插入數(shù)據(jù),直到觸發(fā)chunk遷移:
for (var i = 0; i < 1000000000000000; i++) { db.hezi.insert({name: i}); }
不斷查看分片集群狀態(tài),如下所示三個(gè)節(jié)點(diǎn)上基本均勻的分布了 20、19、20個(gè)chunk:
mongos>sh.status()
liuwenhe.hezi
shard key: { "name" : 1 }
unique: false
balancing: true
chunks:
s1092111427019 20
s1092111427020 19
s1092111427021 20
看完上述內(nèi)容,你們掌握mongodb 中怎么利用分片集群創(chuàng)建分片集合的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)站名稱:mongodb中怎么利用分片集群創(chuàng)建分片集合-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)鏈接:http://www.chinadenli.net/article32/djcopc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、網(wǎng)站設(shè)計(jì)、ChatGPT、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容