如何验证分片?

Sam*_*mar 3 sharding mongodb

我想破坏MongoDB.我完成了Sharding配置,但我不确定如何验证分片是否正常工作.

如何检查我的数据是否被分片?是否有验证/验证分片的查询?

Man*_*ger 14

您还可以在mongos路由器上执行一个简单的命令:

> use admin
> db.printShardingStatus();
Run Code Online (Sandbox Code Playgroud)

它应输出有关您的分片,分片dbs和分片集合的信息,如mongodb文档中所述

sharding version: { "_id" : 1, "version" : 2 }
  shards:
      { "_id" : ObjectId("4bd9ae3e0a2e26420e556876"), "host" : "localhost:30001" }
      { "_id" : ObjectId("4bd9ae420a2e26420e556877"), "host" : "localhost:30002" }
      { "_id" : ObjectId("4bd9ae460a2e26420e556878"), "host" : "localhost:30003" }

  databases:
    { "name" : "admin", "partitioned" : false,
          "primary" : "localhost:20001",
          "_id" : ObjectId("4bd9add2c0302e394c6844b6") }
    my chunks

        { "name" : "foo", "partitioned" : true,
          "primary" : "localhost:30002",
          "sharded" : { "foo.foo" : { "key" : { "_id" : 1 }, "unique" : false } },
          "_id" : ObjectId("4bd9ae60c0302e394c6844b7") }
        my chunks
        foo.foo { "_id" : { $minKey : 1 } } -->> { "_id" : { $maxKey : 1 } }
                  on : localhost:30002 { "t" : 1272557259000, "i" : 1 }
Run Code Online (Sandbox Code Playgroud)


Jus*_*ins 5

MongoDB有关于Sharding的详细文档......

http://www.mongodb.org/display/DOCS/Sharding+Introduction

为了回答你的问题(我认为),请参阅配置服务器上的部分...

每个配置服务器都具有所有块信息的完整副本.两阶段提交用于确保配置服务器之间配置数据的一致性.

基本上,配置服务器的工作是确保所有内容都正确分片.

此外,您可以查询系统集合...

db.runCommand({listshards:1});

下面的prez也有很多帮助......

http://www.slideshare.net/mongodb/mongodb-sharding-internals

http://www.10gen.com/video/mongosv2010/sharding