去年的笔记,接着发
一、如何移除分片
1,确认均衡器已经开启
mongos>, sh.getBalancerState () 真正的
2,移除分片
注:在管理db下执行命令。
mongos> use 管理 switched 用db 管理 mongos>, db.runCommand (, {, removeShard:“shard3”,},) { “味精”,:,“draining started 成功”, “状态”,:“开始”, “碎片”,:,“shard3”, “ok”,: 1 }
3,检查迁移的状态
同样执行
mongos> use 管理 switched 用db 管理 mongos>, db.runCommand (, {, removeShard:“shard3”,},) { “味精”,:,“draining 持续的”, “状态”,:“持续的”, “剩余”,:,{ “块”,:,NumberLong (3), “星展”,:,NumberLong (0) }, “ok”,: 1 }
中剩余的块表示还有多少数据块未迁移。
4,移除未分片数据
在一个集群中,数据库与unsharded集合存储那些收藏> mongos> use 管理 switched 用db 管理 mongos>, db.runCommand (, {, removeShard:“shard3”,},) { “味精”,:,“removeshard completed 成功”, “状态”,:“完成”, “碎片”,:,“shard3”, “ok”,: 1 }
如果状态为完成,表示已完成迁移。
二、添加分片
1,首先确认均衡器已经开启
mongos>, sh.getBalancerState () 真正的
2,执行添加分片的命令
如果出现以下错,误删除目标shard3上的test1数据库,再次执行命令
mongos>, sh.addShard (“shard3/192.168.137.138:27019”) { “ok”,: 0, “errmsg”,:,“可以't add shard  shard3/192.168.137.138:27019 because a local database ‘test1, exists 拷贝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()命令确认迁移是否成功,可能会花比较长的时间。