sh.status()命令可以查看分片、数据库和分片集合的摘要信息,如果块的数量少的话,还会给出块的信息,否则它只给出集合的片键,以及每个分片的块数。
可使用connPoolStats命令来查看mongos和mongod之间的连接信息,如:db.adminCommand({"connPoolStats":1});
1:config.shards :记录着所有分片的信息
2:config.databases :记录集群中所有数据库的信息
3:config.collections :记录所有分片集合的信息
4:config.chunks :记录集合中所有块的信息
5:config.changelog :记录集群的操作
6:config.tags :记录分片的标签
一个mongos或者mongod最多允许20000个连接,可在mongos的命令行配置中使用maxConns选项来控制mongos能创建的连接数量。
通常来说,不应从集群中删除分片,即使加多了,也可以留在那儿,以后会用得上,如果非要删除分片的话,可以按照如下操作:
1:首先保证均衡器是打开的,因为删除分片的时候,均衡器会负责将待删除分片的数据迁移至其它分片
2:执行removeShard命令,示例如下:
use admin 最好切换到mongos的admin数据库再操作,然后:
db.runCommand({"removeShard":"myrep2"});
如需要查看删除情况,再次执行上一条命令,直到remaining的chunks为0。
3:所有块完成转移过后,如果仍有数据库将该分片作为主分片,需要在删除分片前将这些数据库移除掉,通常会提示:“note” : “you need to drop or movePrimarythese databases”,示例如下:
db.adminCommand({"movePrimary":"mydb2","to":"myrep1"});
4:然后再次执行removeShard命令,直到状态显示completed