校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Mongodb 刪除添加分片與非分片表維護

Mongodb 刪除添加分片與非分片表維護

熱門標簽:兗州電話外呼營銷系統(tǒng) 南京400電話怎樣辦理 沈陽營銷電銷機器人招商 機器人外呼系統(tǒng)軟件存在問題 福州電銷機器人源代碼 高德地圖標注商戶位置 智能電銷機器人銷售話術 徐州ai電銷機器人原理 企業(yè)智能外呼系統(tǒng)價格多少

MongoDB 是一個基于分布式文件存儲的數(shù)據(jù)庫。由 C++ 語言編寫。旨在為 WEB 應用提供可擴展的高性能數(shù)據(jù)存儲解決方案。

MongoDB 是一個介于關系數(shù)據(jù)庫和非關系數(shù)據(jù)庫之間的產(chǎn)品,是非關系數(shù)據(jù)庫當中功能最豐富,最像關系數(shù)據(jù)庫的。

一、如何移除分片

1、確認balancer已經(jīng)開啟

mongos> sh.getBalancerState()
true

2、移除分片

注:在admin db下執(zhí)行命令。

mongos> use admin
switched to db admin
mongos> db.runCommand( { removeShard: "shard3" } )
{
"msg" : "draining started successfully",
"state" : "started",
"shard" : "shard3",
"ok" : 1
}

3、檢查遷移的狀態(tài)

同樣執(zhí)行

mongos> use admin
switched to db admin
mongos> db.runCommand( { removeShard: "shard3" } )
{
"msg" : "draining ongoing",
"state" : "ongoing",
"remaining" : {
"chunks" : NumberLong(3),
"dbs" : NumberLong(0)
},
"ok" : 1
}

remaining中的chunks表示還有多少數(shù)據(jù)塊未遷移。

4、移除未分片數(shù)據(jù)

In a cluster, a database with unsharded collections stores those collections only on a single shard.
That shard becomes the primary shard for that database. (Different databases in a cluster can have different primary shards.)
WARNING
Do not perform this procedure until you have finished draining the shard.
1)To determine if the shard you are removing is the primary shard for any of the cluster's databases, issue one of the following methods:
sh.status()
db.printShardingStatus()
In the resulting document, the databases field lists each database and its primary shard.
For example, the following database field shows that the products database uses mongodb0 as the primary shard:
{ "_id" : "products", "partitioned" : true, "primary" : "mongodb0" }
2)To move a database to another shard, use the movePrimary command. For example, to migrate all remaining unsharded data from mongodb0 to mongodb1,
issue the following command:
use admin
db.runCommand( { movePrimary: "products", to: "mongodb1" }) --products為db name
This command does not return until MongoDB completes moving all data, which may take a long time.
The response from this command will resemble the following:
{ "primary" : "mongodb1", "ok" : 1 }
If you use the movePrimary command to move un-sharded collections, you must either restart all mongos instances,
or use the flushRouterConfig command on all mongos instances before writing any data to the cluster.
This action notifies the mongos of the new shard for the database.
If you do not update the mongos instances' metadata cache after using movePrimary, the mongos may not write data to the correct shard.
To recover, you must manually intervene.

根據(jù)上面所說,遷移非分片表 時 最好停機,在運行db.runCommand( { movePrimary: "products", to: "mongodb1" }) 命令完成之后,刷新所有mongos后(所有mongos上運行db.runCommand("flushRouterConfig")),再對外提供服務。當然也可以重新啟動所有mongos實例 。

5、完成遷移

mongos> use admin
switched to db admin
mongos> db.runCommand( { removeShard: "shard3" } )
{
"msg" : "removeshard completed successfully",
"state" : "completed",
"shard" : "shard3",
"ok" : 1
}

如果state為 completed,表示已完成遷移。

二、添加分片

1、首先確認balancer已經(jīng)開啟

mongos> sh.getBalancerState()
true

2、執(zhí)行添加分片的命令

如果出現(xiàn)以下錯誤,刪除目標shard3上的test1數(shù)據(jù)庫,再次執(zhí)行命令

mongos> sh.addShard("shard3/192.168.137.138:27019")
{
"ok" : 0,
"errmsg" : "can't add shard shard3/192.168.137.138:27019 because a local database 'test1' exists in another shard1:shard1/192.168.137.111:27017,192.168.137.75:27017"
}
mongos> sh.addShard("shard3/192.168.137.138:27019")
{ "shardAdded" : "shard3", "ok" : 1 }

最后運行sh.status()命令確認遷移是否成功,可能會花比較長的時間。

以上內(nèi)容是給大家介紹了Mongodb 刪除添加分片與非分片表維護的全部敘述,希望對大家有所幫助。

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

標簽:丹東 邯鄲 吉安 本溪 昭通 大理 景德鎮(zhèn) 鶴崗

巨人網(wǎng)絡通訊聲明:本文標題《Mongodb 刪除添加分片與非分片表維護》,本文關鍵詞  Mongodb,刪除,添加,分片,與,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Mongodb 刪除添加分片與非分片表維護》相關的同類信息!
  • 本頁收集關于Mongodb 刪除添加分片與非分片表維護的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 隆子县| 青海省| 通山县| 古交市| 乌海市| 长丰县| 中山市| 思茅市| 青冈县| 巴马| 丁青县| 汝城县| 湘乡市| 赤峰市| 松滋市| 民丰县| 淮滨县| 长宁县| 互助| 恩平市| 麻江县| 五大连池市| 曲阳县| 开封市| 双柏县| 南郑县| 乌审旗| 磐安县| 泗洪县| 颍上县| 化隆| 射洪县| 石首市| 洱源县| 浦东新区| 雷波县| 大竹县| 宝清县| 日照市| 富宁县| 武胜县|