`
- 浏览:
238713 次
-
MongoDB的Shard集群来说,添加一个分片很简单,AddShard就可以了。
但是缩减集群(删除分片)这种一般很少用到。由于曙光的某服务器又挂了,所以我们送修之前必须把它上面的数据自动迁移到其他Shard上。
1、执行RemoveShard命令
1 db.runCommand( { removeshard: "your_shard_name" } )
2
3 { msg : "draining started successfully" , state: "started" , shard :"mongodb0" , ok : 1 }
上面这句会立即返回,实际在后台执行。
2、查看迁移状态
我们可以反复执行上面语句,查看执行结果。
1 db.runCommand( { removeshard: "your_shard_name" } )
2
3 { msg: "draining ongoing" , state: "ongoing" , remaining: { chunks: 42, dbs : 1 }, ok: 1 }
从上面可以看到,正在迁移,还剩下42块没迁移完。
当remain为0之后,这一步就结束了。
3、移出非Shard数据
1 db.runCommand( { movePrimary: "myapp", to: "mongodb1" })
这次就不是立即返回了,需要很久,然后会返回如下:
1 { "primary" : "mongodb1", "ok" : 1 }
4、最后的清理
上面步骤都完成后,还需要再执行一次RemoveShard,清理残余数据。
1 db.runCommand( { removeshard: "mongodb0" } )
执行成功后,会如下结果:
1 { msg: "remove shard completed succesfully" , stage: "completed", host: "mongodb0", ok : 1 }
显示completed后,就可以安心的关闭mongod的进程了。
--如果要移除的分片正好是某一个表的primary,就会报错无法移除,那么就先进行如下操作:
mongos> use admin
switched to db admin
mongos> db.runCommand({moveprimary:"testdb",to:"shard0001"}) --将主移动到另一个分片上
{ "primary " : "shard0001:192.168.12.104:27019", "ok" : 1 }
mongos> db.runCommand({moveprimary:"test",to:"shard0001"})
{ "primary " : "shard0001:192.168.12.104:27019", "ok" : 1 }
mongos> db.runCommand({removeshard:"192.168.12.104:27017"}) --这样就可以成功移除
{
"msg" : "removeshard completed successfully",
"state" : "completed",
"shard" : "shard0000",
"ok" : 1
}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
MongoDB4.2分片及副本集群搭建 MongoDB集群 MongoDB分片 MongoDB副本 MongoDB副本集群
mongodb的分片备份 复制集的备份和配置的备份
mongodb集群分片操作以及增加acl,有什么问题联系我!
MongoDB分片介绍
公司单节点升级到分片下,搜索了一圈大多数MongoDB集群的部署方案都是分片+副本集,没有讲述如何从单节点升级到分片+复制集的方法,亲自试验后记录整个过程以及中间的参考内容和疑难解决,以备后查。内容包含复制集+...
公司单节点升级到分片下,搜索了一圈大多数 MongoDB 集群的部署方案都是分片+副本集,没有讲述如何从单节点升级到分片+复制集的方法,亲自试验后记录整个过程以及中间的参考内容和疑难解 决,以备后查。内容包含复制...
MongoDB分片副本级 详细的讲述了MongoDB分片副本级配置
mongodb副本集加分片集群安全认证使用账号密码登录
实验五 MongoDB分片部署与启动
config server,顾名思义为配置服务器,存储所有数据库元信息(路由、分片)的配置。mongos本身没有物理存储分片服务器和数据路由信息,只是缓存在内存里,配置服务器则实际存储这些数据。mongos第一次启动或者关掉...
k8s 安装 mongodb 分片(Sharding)+ 副本集(Replica Set)
英文当的mongodb分片设计以及原理,喜欢的可以下载来看看
mongodb 分片集群搭建过程(无副本),详细操作步骤,linux命令
13、MongoDB分片集群&高级集群架构详解_ev.rar13、MongoDB分片集群&高级集群架构详解_ev.rar13、MongoDB分片集群&高级集群架构详解_ev.rar13、MongoDB分片集群&高级集群架构详解_ev.rar13、MongoDB分片集群&高级集群...
mongodb4.22分片及副本集搭建
mongodb中文API及分布式分片实例详解。
Mongodb_集群分片部署 Mongodb_集群分片部署 Mongodb_集群分片部署
MongoDB搭建分片集群windows端
MongoDB4.2分片及副本集群搭建详细指导手册,详细描述了MongoDB4.2数据库服务器集群的搭建以及副本和分片服务的配置过程及具体操作指令。