MongoDB 集羣分片配置

建立必要的文件目錄ide

mkdir -p /usr/local/mongo/shard/s0測試

mkdir -p /usr/local/mongo/shard/s1
mkdir -p /usr/local/mongo/shard/s2
mkdir -p /usr/local/mongo/shard/log
 
mongod --shardsvr --port 20000 --dbpath=/usr/local/mongo/shard/s0 --fork --logpath=/usr/local/mongo/shard/log/s0.log --directoryperdb
mongod --shardsvr --port 20001 --dbpath=/usr/local/mongo/shard/s1 --fork --logpath=/usr/local/mongo/shard/log/s1.log --directoryperdb
mongod --shardsvr --port 20002 --dbpath=/usr/local/mongo/shard/s2 --fork --logpath=/usr/local/mongo/shard/log/s2.log --directoryperdb
 
#Configure Config Server
 
mkdir -p /usr/local/mongo/shard/config
mongod --configsvr --port 30000 --dbpath=/usr/local/mongo/shard/config --fork --logpath=/usr/local/mongo/shard/log/config.log --directoryperdb
 
#Start Router Server 
 
mongos --port 40000 --configdb localhost:30000 --fork --logpath=/usr/local/mongo/shard/log/route.log 
 
 
mongos> db.runCommand({addshard:"localhost:20000"})
{ "shardAdded" : "shard0000", "ok" : 1 }
mongos> db.runCommand({addshard:"localhost:20001"})
{ "shardAdded" : "shard0001", "ok" : 1 }
mongos> db.runCommand({enablesharding:"andylhz"})
{ "ok" : 1 }
mongos> db.runCommand({shardcollection:"andylhz.users",key:{_id:1}})
{ "collectionsharded" : "andylhz.users", "ok" : 1 }
 

插入測試數據
for (var i = 500001; i <= 1000000; i++) db.users.insert({age:i, name:"wangwenlong", addr:"Beijing",country:"China"})
 
mongos> db.users.stats()db.users.stats()
{
        "sharded" : true,
        "ns" : "andylhz.users",
        "count" : 500000,
        "numExtents" : 16,
        "size" : 48000000,
        "storageSize" : 80949248,
        "totalIndexSize" : 16245712,
        "indexSizes" : {
                "_id_" : 16245712
        },
        "avgObjSize" : 96,
        "nindexes" : 1,
        "nchunks" : 5,
        "shards" : {
                "shard0000" : {
                        "ns" : "andylhz.users",
                        "count" : 130899,
                        "size" : 12566304,
                        "avgObjSize" : 96,
                        "storageSize" : 22507520,
                        "numExtents" : 7,
                        "nindexes" : 1,
                        "lastExtentSize" : 11325440,
                        "paddingFactor" : 1,
                        "systemFlags" : 1,
                        "userFlags" : 0,
                        "totalIndexSize" : 4259696,
                        "indexSizes" : {
                                "_id_" : 4259696
                        },
                        "ok" : 1
                },
                "shard0001" : {
                        "ns" : "andylhz.users",
                        "count" : 369101,
                        "size" : 35433696,
                        "avgObjSize" : 96,
                        "storageSize" : 58441728,
                        "numExtents" : 9,
                        "nindexes" : 1,
                        "lastExtentSize" : 20643840,
                        "paddingFactor" : 1,
                        "systemFlags" : 1,
                        "userFlags" : 0,
                        "totalIndexSize" : 11986016,
                        "indexSizes" : {
                                "_id_" : 11986016
                        },
                        "ok" : 1
                }
        },
        "ok" : 1
}
mongos> 
 
mongos> use admindb.runCommand({ listshards: 1 })db.runCommand({ listshards: 1 })
{
        "shards" : [
                {
                        "_id" : "shard0000",
                        "host" : "localhost:20000"
                },
                {
                        "_id" : "shard0001",
                        "host" : "localhost:20001"
                }
        ],
        "ok" : 1
}
 
 
mongos> db.runCommand({ isdbgrid:1 })db.runCommand({ isdbgrid:1 })
{ "isdbgrid" : 1, "hostname" : "mongo.andylhz.com", "ok" : 1 }
 
 
 
mongos> db.runCommand({ addshard:"localhost:20002" })
 
 
mongos> printShardingStatus()printShardingStatus()
--- Sharding Status --- 
  sharding version: { "_id" : 1, "version" : 3 }
  shards:
        {  "_id" : "shard0000",  "host" : "localhost:20000" }
        {  "_id" : "shard0001",  "host" : "localhost:20001" }
        {  "_id" : "shard0002",  "host" : "localhost:20002" }
  databases:
        {  "_id" : "admin",  "partitioned" : false,  "primary" : "config" }
        {  "_id" : "andylhz",  "partitioned" : true,  "primary" : "shard0000" }
                andylhz.users chunks:
                                shard0002       1
                                shard0000       2
                                shard0001       2
                        { "_id" : { $minKey : 1 } } -->> { "_id" : ObjectId("50b9b64ae2b156c230e8f96e") } on : shard0002 Timestamp(4000, 0) 
                        { "_id" : ObjectId("50b9b64ae2b156c230e8f96e") } -->> { "_id" : ObjectId("50b9b64be2b156c230e91103") } on : shard0000 Timestamp(4000, 1) 
                        { "_id" : ObjectId("50b9b64be2b156c230e91103") } -->> { "_id" : ObjectId("50b9b65fe2b156c230ebc1d5") } on : shard0001 Timestamp(3000, 1) 
                        { "_id" : ObjectId("50b9b65fe2b156c230ebc1d5") } -->> { "_id" : ObjectId("50b9b673e2b156c230eeb2d0") } on : shard0001 Timestamp(2000, 4) 
                        { "_id" : ObjectId("50b9b673e2b156c230eeb2d0") } -->> { "_id" : { $maxKey : 1 } } on : shard0000 Timestamp(3000, 0) 
 
mongos> 
 
 
本文完
相關文章
相關標籤/搜索