真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mongodb遷移分片,關(guān)閉或者移除表的sharding,-創(chuàng)新互聯(lián)

MongoDB的Shard集群來說,添加一個(gè)分片很簡單,AddShard就可以了。

平武ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!

但是縮減集群(刪除分片)這種一般很少用到,但是有些場景,必須把它上面的數(shù)據(jù)自動遷移到其他Shard上。

 mongodb遷移分片

1、執(zhí)行RemoveShard命令 --只是遷移sharding表

1      db.runCommand( { removeshard:"your_shard_name" } )

3      { msg : "draining startedsuccessfully" , state: "started" , shard :"mongodb0",ok : 1 }

上面這句會立即返回,實(shí)際在后臺執(zhí)行。

2、查看遷移狀態(tài)

我們可以反復(fù)執(zhí)行上面語句,查看執(zhí)行結(jié)果。

1      db.runCommand( { removeshard:"your_shard_name" } )

3      { msg: "draining ongoing" ,state: "ongoing", remaining: { chunks: 42, dbs : 1 }, ok: 1 }

從上面可以看到,正在遷移,還剩下42塊沒遷移完。

當(dāng)remain為0之后,這一步就結(jié)束了。

3、遷移非Shard數(shù)據(jù)或者非Shard庫

1      db.runCommand( { movePrimary:"testdb", to: "shard2" })

這次就不是立即返回了,需要很久,然后會返回如下:

1      { "primary" :"mongodb1", "ok" : 1 }

4、最后的清理

上面步驟都完成后,還需要再執(zhí)行一次RemoveShard,清理殘余數(shù)據(jù)。

1      db.runCommand( { removeshard: "shard1"} )

執(zhí)行成功后,會如下結(jié)果:

1      { msg: "remove shard completedsuccesfully", stage: "completed", host: " shard1", ok: 1 }

顯示completed后,就可以安心的關(guān)閉mongod的進(jìn)程了。

注意官方關(guān)于是否需要運(yùn)行movePrimary的說明:

也就是說,如果在這個(gè)片上有非分片的collection,這樣的話,分片的數(shù)據(jù)合到其他片上了,那么剩下的非分片數(shù)據(jù),沒法通過合并分片的方式合到其他服務(wù)器上,所以這時(shí)要運(yùn)行一個(gè)movePrimary命令將這些非分片的數(shù)據(jù)移到另一個(gè)服務(wù)器上。db.runCommand( { movePrimary: "testdb", to: "shard1"})

還有一個(gè)官方說明需要注意的是:

Warning

Do not run themovePrimary until you have finished draining the shard

也就是說,一定要等到分片數(shù)據(jù)遷移完了,再運(yùn)行movePrimary命令?。?!

而且這句命令不像removeshard是異步的,這個(gè)movePrimary命令會等到將所有非分片數(shù)據(jù)都移到其他服務(wù)器后,才響應(yīng),所以時(shí)間有可能會比較長,主要還是看這個(gè)服務(wù)器上,非分片數(shù)據(jù)有多少。

另外,movePrimary執(zhí)行完后,還記得將db.runCommand({removeshard:"shardx"})再運(yùn)行一遍,直到看到如下結(jié)果{ msg: "remove shard completed successfully" , stage:"completed", host: "mongodb0", ok : 1 }

到此為止,遷移才真正完成,可以放心地關(guān)閉mongod。

mongodb關(guān)閉表的分片 (移除分片)

過程: 導(dǎo)出帶有sharding 的集合, 刪除集合 ,導(dǎo)入集合

1.導(dǎo)出集合

/usr/local/mongodb/bin/mongodump--host 127.0.0.1:30000 -d testdb -c table1  -o testdb/

2.禁用分片的自動平衡

> use config

>db.settings.update( { _id:"balancer" }, { $set : { stopped:true } } ,true );

>db.printShardingStatus()

mongodb遷移分片,關(guān)閉或者移除表的sharding ,

3.刪除集合

db.table1.drop();

4.導(dǎo)入集合

/usr/local/mongodb/bin/mongorestore --host 127.0.0.1:30000 -d testdb     testdb/

執(zhí)行 db.printShardingStatus() ,查看分片概要

發(fā)現(xiàn)集合table1 的 sharding 功能已經(jīng)被關(guān)閉!

平衡的關(guān)閉和開啟

mongodb在做自動分片平衡的時(shí)候,或引起數(shù)據(jù)庫響應(yīng)的緩慢,可以通過禁用自動平衡以及設(shè)置自動平衡進(jìn)行的時(shí)間來解決這一問題。

(1)禁用分片的自動平衡

> use config

>db.settings.update( { _id:"balancer" }, { $set : { stopped:true } } ,true );

mongodb遷移分片,關(guān)閉或者移除表的sharding ,

恢復(fù)動態(tài)平臺:

use config

db.settings.remove({"_id":"balancer"});

(2)自定義自動平衡進(jìn)行的時(shí)間段

> use config

>db.settings.update({ _id :"balancer" }, { $set : { activeWindow : { start :"21:00", stop :"9:00" } } },true )

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


網(wǎng)站標(biāo)題:mongodb遷移分片,關(guān)閉或者移除表的sharding,-創(chuàng)新互聯(lián)
標(biāo)題來源:http://weahome.cn/article/ccpoph.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部