1. 查看分片配置 1.1 列舉使用分片的數據庫 爲了列舉使用分片的數據庫,須要查詢Config數據庫。若是partitioned域值爲true,則這個庫使用了分片技術。 鏈接一個mongos實例,運行命令獲取使用分片功能的數據庫: use config db.databases.find( { "partitioned" : true} ) 例如:使用如下命令返回集羣中的全部數據庫 use config db.databases.find() 若是返回結果: { "_id" : "admin", "partitioned" : false, "primary" : "config" } { "_id" : "mydb", "partitioned" : true, "primary" : "firstset" } { "_id" : "test", "partitioned" : false, "primary" : "secondset" } 顯示只有mydb使用了分片。 1.2 列舉全部的分片 爲了列舉當前集合的全部分片,使用listShards命令: use admin db.runCommand( { listShards : 1 }) 返回結果: { "shards" : [ { "_id" : "firstset", "host" : "firstset/mongo01:10001,mongo01:10002,mongo01:10003" }, { "_id" : "secondset", "host" : "secondset/mongo01:30001,mongo01:30002,mongo01:30003" } ], "ok" : 1 } 1.3 查看集羣的詳細信息 爲了查看集羣的詳細信息,能夠使用db.printShardingStatus()或者sh.status()。全部的方法返回一樣的結果。 例如,使用sh.status()查看信息: --- Sharding Status --- sharding version: { "_id" : 1, "version" : 4, "minCompatibleVersion" : 4, "currentVersion" : 5, "clusterId" : ObjectId("535a2dab0063b308757e1b70") } shards: { "_id" : "firstset", "host" : "firstset/mongo01:10001,mongo01:10002,mongo01:10003" } { "_id" : "secondset", "host" : "secondset/mongo01:30001,mongo01:30002,mongo01:30003" } databases: { "_id" : "admin", "partitioned" : false, "primary" : "config" } { "_id" : "mydb", "partitioned" : true, "primary" : "firstset" } mydb.test_collection shard key: { "name" : 1 } chunks: secondset 6 firstset 6 { "name" : { "$minKey" : 1 } } -->> { "name" : "cat" } on : secondset Timestamp(2, 0) { "name" : "cat" } -->> { "name" : "cow" } on : secondset Timestamp(3, 0) { "name" : "cow" } -->> { "name" : "dog" } on : secondset Timestamp(4, 0) { "name" : "dog" } -->> { "name" : "dragon" } on : secondset Timestamp(5, 0) { "name" : "dragon" } -->> { "name" : "elephant" } on : secondset Timestamp(6, 0) { "name" : "elephant" } -->> { "name" : "horse" } on : secondset Timestamp(7, 0) { "name" : "horse" } -->> { "name" : "lion" } on : firstset Timestamp(7, 1) { "name" : "lion" } -->> { "name" : "pig" } on : firstset Timestamp(1, 7) { "name" : "pig" } -->> { "name" : "rabbit" } on : firstset Timestamp(1, 8) { "name" : "rabbit" } -->> { "name" : "snake" } on : firstset Timestamp(1, 9) { "name" : "snake" } -->> { "name" : "tiger" } on : firstset Timestamp(1, 10) { "name" : "tiger" } -->> { "name" : { "$maxKey" : 1 } } on : firstset Timestamp(1, 11) { "_id" : "test", "partitioned" : false, "primary" : "secondset" } sharding version展現了分片元數據的版本號。 shards展現了在集羣中被做爲分片的mongod實例。 databases展現了集羣中全部的數據庫,包括沒有使用分片功能的庫。 chunks信息展現了mydb庫的每一個分片上有多少個塊和每一個塊的範圍。