MongoDB隨著業(yè)務(wù)量增長,可以把之前不是分片的集合變?yōu)榉制?,但是要注意的是,一旦指定shard key以后就無法直接更改了。下面為從添加shard server到shard key具體操作步驟
1)添加shard server
添加情境:
創(chuàng)新互聯(lián)公司從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計、網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元東源做網(wǎng)站,已為上家服務(wù),為東源各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108
添加分片的鍵需要創(chuàng)建索引,否則報錯please create an index that starts with the shard key before sharding
根據(jù)上面錯誤提示要在分片key上面創(chuàng)建索引,該索引要在對應(yīng)庫下建立,如果在mongos的admin庫下建立會報錯:"errmsg" : "{ configs1/10.9.33.70:26017,10.9.161.65:26017: \"result without error message returned : {}\" }"
如果開啟balance,數(shù)據(jù)會自動打散。如果沒有開啟,頭一次需要自己手動遷下數(shù)據(jù):
這個命令可以重復(fù)執(zhí)行以便查看遷移的狀態(tài),remaining 字段表示剩余數(shù)據(jù)塊的數(shù)量
6)刪除未分片的主分片
數(shù)據(jù)庫未分片,該數(shù)據(jù)庫就會選擇一個分片作為主分片。Db.collection.stats()中"primary" :
"mg-test-shard01"顯示就是主分片,刪除這個主分片,需要先將集合主分片改為其他分片,然后才能刪除主分片
點(diǎn)擊(此處)折疊或打開