【Mongodb】Mongodb sharding 管理之一
前面介紹了sharding的基本搭建和大量插入資料測試,本文介紹一些sharding相關查詢操作
1 判斷是否是shard 叢集
mongos> db.runCommand({ isdbgrid : 1});
{ "isdbgrid" : 1, "hostname" : "rac4", "ok" : 1 }
mongos> db.runCommand({ismaster:1});
{
"ismaster" : true,
"msg" : "isdbgrid",
"maxBsonObjectSize" : 16777216,
"ok" : 1
2 檢視已經存在的shard叢集:必須在admin資料庫上
mongos> db.runCommand({ listShards : 1});
{ "ok" : 0, "errmsg" : "access denied - use admin db" }
mongos> use admin
switched to db admin
mongos> db.runCommand({ listShards : 1});
{
"shards" : [
{
"_id" : "shard0000",
"host" : "10.250.7.225:27018"
},
{
"_id" : "shard0001",
"host" : "10.250.7.249:27019"
},
{
"_id" : "shard0002",
"host" : "10.250.7.241:27020"
}
],
"ok" : 1
}
3 檢視一個資料庫是否進行了shard
mongos> config = db.getSisterDB("config")
config
mongos> config.system.namespaces.find()
{ "name" : "config.version" }
{ "name" : "config.system.indexes" }
{ "name" : "config.version.$_id_" }
{ "name" : "config.settings" }
{ "name" : "config.settings.$_id_" }
{ "name" : "config.chunks" }
{ "name" : "config.chunks.$_id_" }
{ "name" : "config.chunks.$ns_1_min_1" }
{ "name" : "config.chunks.$ns_1_shard_1_min_1" }
{ "name" : "config.chunks.$ns_1_lastmod_1" }
{ "name" : "config.shards" }
{ "name" : "config.shards.$_id_" }
{ "name" : "config.shards.$host_1" }
{ "name" : "config.mongos" }
{ "name" : "config.mongos.$_id_" }
{ "name" : "config.lockpings" }
{ "name" : "config.lockpings.$_id_" }
{ "name" : "config.locks" }
{ "name" : "config.locks.$_id_" }
{ "name" : "config.lockpings.$ping_1" }
has more
mongos> it
{ "name" : "config.databases" }
{ "name" : "config.databases.$_id_" }
{ "name" : "config.collections" }
{ "name" : "config.collections.$_id_" }
{ "name" : "config.changelog", "options" : { "create" : "changelog", "size" : NumberLong(10485760), "capped" : true } }
檢視test資料庫,進行了拆分
mongos> test = db.getSisterDB("test")
test
mongos> test.system.namespaces.find()
{ "name" : "test.system.indexes" }
{ "name" : "test.yql" }
{ "name" : "test.yql.$_id_" }
mongos資料庫沒有進行拆分
mongos> mongos = db.getSisterDB("mongos")
mongos
mongos> mongos.system.namespaces.find()
4 檢視整個mongodb 資料庫shard的詳細資訊
db.printShardingStatus();
這個命令已經不陌生了,對於此命令的輸出:
mongos> printShardingStatus();
--- Sharding Status ---
第一部分:
sharding version: { "_id" : 1, "version" : 3 }
第二部分:
shards:
{ "_id" : "shard0000", "host" : "10.250.7.225:27018" }
{ "_id" : "shard0001", "host" : "10.250.7.249:27019" }
{ "_id" : "shard0002", "host" : "10.250.7.241:27020" }
介紹了整個sharding 叢集的名稱,和分佈的伺服器的ip和埠號。
第三部分:
所有在這個叢集上的資料庫。
_id 資料庫的名字
partitioned 表示是否進行shard 值為true或false,資料庫admin沒有進行shard,在config伺服器上
primary:表示基片,test庫有三個shard:shard0000,shard0001,shard0002,其基片為shard0000 表示test資料庫在shard000
test.yql chunks:表示collection的分片資訊,分為幾個區間,哪一個區間在哪一個shard上面。
databases:
{ "_id" : "admin", "partitioned" : false, "primary" : "config" }
{ "_id" : "mongos", "partitioned" : false, "primary" : "shard0000" }
{ "_id" : "test", "partitioned" : true, "primary" : "shard0000" }
test.yql chunks:
shard0000 2
shard0002 1
shard0001 1
{ "_id" : { $minKey : 1 } } -->> { "_id" : ObjectId("4eb298b3adbd9673afee95e3") } on : shard0000 { "t" : 2000, "i" : 1 }
{ "_id" : ObjectId("4eb298b3adbd9673afee95e3") } -->> { "_id" : ObjectId("4eb2a64640643e5bb60072f7") } on : shard0000 { "t" : 1000, "i" : 3 }
{ "_id" : ObjectId("4eb2a64640643e5bb60072f7") } -->> { "_id" : ObjectId("4eb2a65340643e5bb600e084") } on : shard0002 { "t" : 3000, "i" : 1 }
{ "_id" : ObjectId("4eb2a65340643e5bb600e084") } -->> { "_id" : { $maxKey : 1 } } on : shard0001 { "t" : 3000, "i" : 0 }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-710270/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【Mongodb】 Mongodb sharding 管理之二MongoDB
- mongodb分片(sharding)搭建、應用及管理MongoDB
- MongoDB 3.4配置sharding分片MongoDB
- mongodb 分片群集(sharding cluster)MongoDB
- 【Mongodb】Sharding 叢集配置MongoDB
- MongoDB add sharding -- Just a noteMongoDB
- 【Mongodb】Sharding 手工遷移chunkMongoDB
- MongoDB Sharding(二) -- 搭建分片叢集MongoDB
- MongoDB主從複製,副本集, ShardingMongoDB
- 【MongoDB】分片(sharding)+副本集(replSet)叢集搭建MongoDB
- 【Mongodb】sharding 叢集Add/Remove 節點MongoDBREM
- Mongodb管理命令MongoDB
- Mongodb 管理操作MongoDB
- MongoDB 分片管理MongoDB
- mongodb基本管理MongoDB
- 搭建 MongoDB分片(sharding) / 分割槽 / 叢集環境MongoDB
- MongoDB 副本集管理MongoDB
- MongoDB基本管理命令MongoDB
- mongodb複製集(replica sets)+分片(sharding)環境搭建MongoDB
- MongoDB Sharding ChunkSize大小選擇優缺點介紹MongoDB
- MongoDB Sharding Balancer介紹和設定方法舉例MongoDB
- MongoDB 資料庫管理和開發:Navicat for MongoDB macMongoDB資料庫Mac
- 【Mongodb】 Replica set 的選舉策略之一MongoDB
- mongodb管理工具MongoDB
- 詳解MongoDB管理命令MongoDB
- MongoDB 副本集原理及管理MongoDB
- MongoDB 6.0.3 使用者管理MongoDB
- MongoDB之使用者管理MongoDB
- mongodb管理工具rockmongoMongoDB
- MongoDB管理與開發精要MongoDB
- MongoDB 3.0.8 許可權管理MongoDB
- 【mongodb】mongodb的安裝MongoDB
- NoSQLBooster for MongoDB Mac(MongoDB資料庫管理) 8.1.0無限試用版SQLMongoDBMac資料庫
- MongoDB使用者管理,Version: 2.0.2MongoDB
- MongoDbMongoDB
- (翻譯) MongoDB(7) 安裝MongoDBMongoDB
- MongoDB之父:MongoDB勝過BigTableMongoDB
- 【Mongodb】如何建立mongodb的replica setMongoDB