分片集羣手冊(查看分片配置)

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庫的每一個分片上有多少個塊和每一個塊的範圍。
相關文章
相關標籤/搜索