我有这样的configuration:
mongos> db.adminCommand('getShardMap') { "map" : { "RS13" : "RS13/mongo09-02:27003,mongo09-01:27001", "RS13/mongo09-02:27003,mongo09-01:27001" : "RS13/mongo09-02:27003,mongo09-01:27001", "RS26" : "RS26/mongo09-04.de.prod:27008,mongo09-01:27002", "RS26/mongo09-04.de.prod:27008,mongo09-01:27002" : "RS26/mongo09-04.de.prod:27008,mongo09-01:27002", "RS45" : "RS45/mongo09-02:27004,mongo09-03:27005", "RS45/mongo09-02:27004,mongo09-03:27005" : "RS45/mongo09-02:27004,mongo09-03:27005", "RS67" : "RS67/mongo09-03:27006,mongo09-03.de.prod:27006,mongo09-04.de.prod:27007", "RS67/mongo09-03:27006,mongo09-03.de.prod:27006,mongo09-04.de.prod:27007" : "RS67/mongo09-03:27006,mongo09-03.de.prod:27006,mongo09-04.de.prod:27007", "config" : "mongo09-01:27011,mongo09-02:27012,mongo09-03:27013", "mongo09-01:27001" : "RS13/mongo09-02:27003,mongo09-01:27001", "mongo09-01:27002" : "RS26/mongo09-04.de.prod:27008,mongo09-01:27002", "mongo09-02:27003" : "RS13/mongo09-02:27003,mongo09-01:27001", "mongo09-02:27004" : "RS45/mongo09-02:27004,mongo09-03:27005", "mongo09-03.de.prod:27006" : "RS67/mongo09-03:27006,mongo09-03.de.prod:27006,mongo09-04.de.prod:27007", "mongo09-03:27005" : "RS45/mongo09-02:27004,mongo09-03:27005", "mongo09-03:27006" : "RS67/mongo09-03:27006,mongo09-03.de.prod:27006,mongo09-04.de.prod:27007", "mongo09-04.de.prod:27007" : "RS67/mongo09-03:27006,mongo09-03.de.prod:27006,mongo09-04.de.prod:27007", "mongo09-04.de.prod:27008" : "RS26/mongo09-04.de.prod:27008,mongo09-01:27002" }, "ok" : 1 }
其实mongo09-03似乎是重复的:
"mongo09-03.de.prod:27006" : "RS67/mongo09-03:27006,mongo09-03.de.prod:27006,mongo09-04.de.prod:27007", "mongo09-03:27006" : "RS67/mongo09-03:27006,mongo09-03.de.prod:27006,mongo09-04.de.prod:27007",
请考虑复制集RS67也是分片群集的一部分。
当我将一个mongodb副本集放入一个分片集群中时,我可以删除它吗? 如果是的话,怎么样?
我可以使用rs.remove(主机名)?
这不是一个简单的运行一个命令types的东西。 请参阅doc站点上的以下内容
http://docs.mongodb.org/manual/tutorial/remove-shards-from-cluster/
删除复制成员
rs.remove("mongo09-03.de.prod:27006")
我们已成功configuration执行此命令的副本集:
db.shards.update({_id: "RS67"} , {$set: {"host" : "RS67/mongo09-03.de.prod:27006,mongo09-04.de.prod:27007"}})
碎片地图现在正确configuration,额外的mongo09-03已经消失。
mongos> db.adminCommand('getShardMap') { "map" : { "RS13" : "RS13/mongo09-02:27003,mongo09-01:27001", "RS13/mongo09-02:27003,mongo09-01:27001" : "RS13/mongo09-02:27003,mongo09-01:27001", "RS26" : "RS26/mongo09-04.de.prod:27008,mongo09-01:27002", "RS26/mongo09-04.de.prod:27008,mongo09-01:27002" : "RS26/mongo09-04.de.prod:27008,mongo09-01:27002", "RS45" : "RS45/mongo09-02:27004,mongo09-03:27005", "RS45/mongo09-02:27004,mongo09-03:27005" : "RS45/mongo09-02:27004,mongo09-03:27005", "RS67" : "RS67/mongo09-03.de.prod:27006,mongo09-04.de.prod:27007", "RS67/mongo09-03.de.prod:27006,mongo09-04.de.prod:27007" : "RS67/mongo09-03.de.prod:27006,mongo09-04.de.prod:27007", "config" : "mongo09-01:27011,mongo09-02:27012,mongo09-03:27013", "mongo09-01:27001" : "RS13/mongo09-02:27003,mongo09-01:27001", "mongo09-01:27002" : "RS26/mongo09-04.de.prod:27008,mongo09-01:27002", "mongo09-02:27003" : "RS13/mongo09-02:27003,mongo09-01:27001", "mongo09-02:27004" : "RS45/mongo09-02:27004,mongo09-03:27005", "mongo09-03.de.prod:27006" : "RS67/mongo09-03.de.prod:27006,mongo09-04.de.prod:27007", "mongo09-03:27005" : "RS45/mongo09-02:27004,mongo09-03:27005", "mongo09-04.de.prod:27007" : "RS67/mongo09-03.de.prod:27006,mongo09-04.de.prod:27007", "mongo09-04.de.prod:27008" : "RS26/mongo09-04.de.prod:27008,mongo09-01:27002" }, "ok" : 1 }
也请考虑:
只有在mongos第一次启动时才使用集合中的主机列表作为种子列表。 一旦这个过程开始,他们自动发现其余的成员(就像任何其他客户端/驱动程序在副本集模式),并跟踪副本集中的每个成员。