Sharding-05-Enable Sharding For a Collection

Start Mongo Shell


[[email protected] tom]# mongo

MongoDB shell version: 2.6.3
connecting to: test
mongos>


2.	List Existing Databases

mongos> show dbs

admin	(empty)

books	0.063GB
config	0.016GB

3. Chose a Database


mongos> use books
switched to db books


4. Create a collection with few documents

mongos>
for(i=0;i<=10;i++){db.mybooks.insert({_id:i,name:"book_number_"+i,author:" author"})}
WriteResult({ "nInserted" : 1 })


Check the documents

mongos> db.mybooks.find()
{ "_id" : 0, "name" : "book_number_0", "author" : "author" }
{ "_id" : 1, "name" : "book_number_1", "author" : "author" }
{ "_id" : 2, "name" : "book_number_2", "author" : "author" }
{ "_id" : 3, "name" : "book_number_3", "author" : "author" }

{ "_id" : 4, "name" : "book_number_4", "author" : "author" }
{ "_id" : 5, "name" : "book_number_5", "author" : "author" }
{ "_id" : 6, "name" : "book_number_6", "author" : "author" }
{ "_id" : 7, "name" : "book_number_7", "author" : "author" }
{ "_id" : 8, "name" : "book_number_8", "author" : "author" }
{ "_id" : 9, "name" : "book_number_9", "author" : "author" }
{ "_id" : 10, "name" : "book_number_10", "author" : "author" }


6. List all Collections

mongos> show collections
books
mybooks
system.indexes

7. Enable Sharding for the database

mongos> sh.enableSharding("books")
{ "ok" : 1 }

8. Shard the Newly Created Collection


mongos> sh.shardCollection("books.mybooks",{_id:1},true)
{ "collectionsharded" : "books.mybooks", "ok" : 1 }

Check Sharding Status

mongos> sh.status()

--- Sharding Status ---

sharding version: {

"_id" : 1,
"version" : 4,
"minCompatibleVersion" : 4,
"currentVersion" : 5,
"clusterId" : ObjectId("53bdcc24ecb20b84c96f5914")
}
shards:
{ "_id" : "ReplicaSetNew1", "host" : "ReplicaSetNew1/localhost.localdomain:27011,localhost.localdomain:27012,lo calhost.localdomain:27013" }

{ "_id" : "ReplicaSetNew2", "host" : "ReplicaSetNew2/localhost.localdomain:27021,localhost.localdomain:27022,lo calhost.localdomain:27023" }

{ "_id" : "ReplicaSetNew3", "host" : "ReplicaSetNew3/localhost.localdomain:27031,localhost.localdomain:27032,lo calhost.localdomain:27033" }



10.	Insert Few More Documents

mongos>
for(i=11;i<=50000;i++){db.mybooks.insert({_id:i,name:"book_number_"+i,auth or:"author",description:"this is a book"})}


WriteResult({ "nInserted" : 1 })


11.	Check Status

mongos> db.mybooks.stats()
{
"sharded" : true,

"systemFlags" : 1,
"userFlags" : 1,
"ns" : "books.mybooks",
"count" : 50001,
"numExtents" : 12,
"size" : 5084336,
"storageSize" : 13983744,
"totalIndexSize" : 1422624,
"indexSizes" : {
"_id_" : 1422624
},
"avgObjSize" : 101.68468630627387,
"nindexes" : 1,
"nchunks" : 4,

"shards" : {
"ReplicaSetNew1" : {
"ns" : "books.mybooks",
"count" : 9613,
"size" : 560880,
"avgObjSize" : 58,
"storageSize" : 2793472,
"numExtents" : 5,
"nindexes" : 1,
"lastExtentSize" : 2097152,
"paddingFactor" : 1,
"systemFlags" : 1,
"userFlags" : 1,

"totalIndexSize" : 277984,
"indexSizes" : {
"_id_" : 277984
},
"ok" : 1
},
"ReplicaSetNew2" : {
"ns" : "books.mybooks",
"count" : 0,
"size" : 0,
"storageSize" : 8192,
"numExtents" : 1,
"nindexes" : 1,

"lastExtentSize" : 8192,
"paddingFactor" : 1,
"systemFlags" : 1,
"userFlags" : 1,
"totalIndexSize" : 8176,
"indexSizes" : {
"_id_" : 8176
},
"ok" : 1

},
"ReplicaSetNew3" : {
"ns" : "books.mybooks",
"count" : 40388,
"size" : 4523456,
"avgObjSize" : 112,
"storageSize" : 11182080,
"numExtents" : 6,
"nindexes" : 1,
"lastExtentSize" : 8388608,

"paddingFactor" : 1,
"systemFlags" : 1,
"userFlags" : 1,
"totalIndexSize" : 1136464,
"indexSizes" : {
"_id_" : 1136464
},
"ok" : 1
}
},

"ok" : 1
}



1 thought on “Sharding-05-Enable Sharding For a Collection”

  1. Scott

    Thanks …for the tutorial

Leave a Reply

Your email address will not be published.