mongodbshard

serverA:172.16.200.200
     /data/MongoDB/db/{shard1_200,shard2_200,shard3_200,config}
    /data1/logs/mongodb/
serverB:172.16.200.201
   /data/mongodb/db/{shard1_201,shard2_201,shard3_201,config}
    /data1/logs/mongodb/
serverC:172.16.200.202
  /data/mongodb/db/{shard1_202,shard2_202,shard3_202,config}
    /data1/logs/mongodb/


serverA:./mongod --shardsvr --replSet shard1 --port 29001 --dbpath=/data/mongodb/db/shard1_200/ --oplogSize 10240 --logpath=/data1/logs/mongodb/shard1_200.log --logappend --fork --nohttpinterface —directoryperdb

serverB:
./mongod --shardsvr --replSet shard1 --port 29001 --dbpath=/data/mongodb/db/shard1_201/ --oplogSize 10240 --logpath=/data1/logs/mongodb/shard1_201.log --logappend --fork --nohttpinterface --directoryperdb
serverC:

./mongod --shardsvr --replSet shard1 --port 29001 --dbpath=/data/mongodb/db/shard1_202/ --oplogSize 10240 --logpath=/data1/logs/mongodb/shard1_202.log --logappend --fork --nohttpinterface —directoryperdb
登陆mongo
./mongo --port 29001
> config = {_id: 'shard1', members: [
... {_id: 0, host: '172.16.200.200:29001',priority:1},
... {_id: 1, host: '172.16.200.201:29001',priority:0},
... {_id: 2, host: '172.16.200.202:29001',arbiterOnly:true}]};
{
       "_id" : "shard1",
       "members" : [
               {
                       "_id" : 0,
                       "host" : "172.16.200.200:29001",
                       "priority" : 1
               },
               {
                       "_id" : 1,
                       "host" : "172.16.200.201:29001",
                       "priority" : 0
               },
               {
                       "_id" : 2,
                       "host" : "172.16.200.202:29001",
                       "arbiterOnly" : true
               }
       ]
}
> rs.initiate(config);
{
       "info" : "Config now saved locally.  Should come online in about a minute.",
       "ok" : 1
}
>
shard1:SECONDARY>
shard1:SECONDARY>
serverA:
./mongod --shardsvr --replSet shard2 --port 29002 --dbpath=/data/mongodb/db/shard2_200/ --oplogSize 10240 --logpath=/data1/logs/mongodb/shard2_201.log --logappend --fork --nohttpinterface --directoryperdb
serverB:
./mongod --shardsvr --replSet shard2 --port 29002 --dbpath=/data/mongodb/db/shard2_201/ --oplogSize 10240 --logpath=/data1/logs/mongodb/shard2_201.log --logappend --fork --nohttpinterface --directoryperdb
serverC:
./mongod --shardsvr --replSet shard2 --port 29002 --dbpath=/data/mongodb/db/shard2_202 --oplogSize 10240 --logpath=/data1/logs/mongodb/shard2_202.log --logappend --fork --nohttpinterface --directoryperdb
登录mong
./mongo --port 29002
[root@serverA bin]# ./mongo --port 29002
MongoDB shell version: 2.6.0
connecting to: 127.0.0.1:29002/test
> config = {_id: 'shard2', members: [
... {_id: 0, host: '172.16.200.200:29002',priority:1},
... {_id: 1, host: '172.16.200.201:29002',priority:0},
... {_id: 2, host: '172.16.200.202:29002',arbiterOnly:true}]};
{
       "_id" : "shard2",
       "members" : [
               {
                       "_id" : 0,
                       "host" : "172.16.200.200:29002",
                       "priority" : 1
               },
               {
                       "_id" : 1,
                       "host" : "172.16.200.201:29002",
                       "priority" : 0
               },
               {
                       "_id" : 2,
                       "host" : "172.16.200.202:29002",
                       "arbiterOnly" : true
               }
       ]
}
> rs.initiate(config);
{
       "info" : "Config now saved locally.  Should come online in about a minute.",
       "ok" : 1
}
>
shard2:SECONDARY>
shard2:PRIMARY>
serverA:
./mongod --shardsvr --replSet shard3 --port 29003 --dbpath=/data/mongodb/db/shard3_200/ --oplogSize 10240 --logpath=/data1/logs/mongodb/shard3_200.log --logappend --fork --nohttpinterface --directoryperdb
serverB:
./mongod --shardsvr --replSet shard3 --port 29003 --dbpath=/data/mongodb/db/shard3_201/ --oplogSize 10240 --logpath=/data1/logs/mongodb/shard3_201.log --logappend --fork --nohttpinterface --directoryperdb
serverC:
./mongod --shardsvr --replSet shard3 --port 29003 --dbpath=/data/mongodb/db/shard3_202/ --oplogSize 10240 --logpath=/data1/logs/mongodb/shard3_202.log --logappend --fork --nohttpinterface --directoryperdb
[root@serverA bin]# ./mongo --port 29003
MongoDB shell version: 2.6.0
connecting to: 127.0.0.1:29003/test
> config = {_id: 'shard3', members: [
... {_id: 0, host: '172.16.200.200:29003',priority:1},
... {_id: 1, host: '172.16.200.201:29003',priority:0},
... {_id: 2, host: '172.16.200.202:29003',arbiterOnly:true}]};
{
       "_id" : "shard3",
       "members" : [
               {
                       "_id" : 0,
                       "host" : "172.16.200.200:29003",
                       "priority" : 1
               },
               {
                       "_id" : 1,
                       "host" : "172.16.200.201:29003",
                       "priority" : 0
               },
               {
                       "_id" : 2,
                       "host" : "172.16.200.202:29003",
                       "arbiterOnly" : true
               }
       ]
}
> rs.initiate(config);
{
       "info" : "Config now saved locally.  Should come online in about a minute.",
       "ok" : 1
}
>
shard3:SECONDARY>
shard3:SECONDARY>
shard3:SECONDARY>
shard3:PRIMARY>
启动config
serverA:
./mongod --configsvr --dbpath=/data/mongodb/db/config/ --port 29000 --logpath=/data1/logs/mongodb/config_200.log --logappend --fork --nohttpinterface --directoryperdb
serverB:
./mongod --configsvr --dbpath=/data/mongodb/db/config/ --port 29000 --logpath=/data1/logs/mongodb/config_201.log --logappend --fork --nohttpinterface --directoryperdb
serverC:
./mongod --configsvr --dbpath=/data/mongodb/db/config/ --port 29000 --logpath=/data1/logs/mongodb/config_202.log --logappend --fork --nohttpinterface --directoryperdb
启动mongos
serverA:
./mongos --configdb 172.16.200.200:29000,172.16.200.201:29000,172.16.200.202:29000 --port 27001 --chunkSize 8 --logpath=/data1/logs/mongodb/mongos_200.log --logappend --fork --nohttpinterface
serverB:
./mongos --configdb 172.16.200.200:29000,172.16.200.201:29000,172.16.200.202:29000 --port 27001 --chunkSize 8 --logpath=/data1/logs/mongodb/mongos_201.log --logappend --fork --nohttpinterface
serverC:
./mongos --configdb 172.16.200.200:29000,172.16.200.201:29000,172.16.200.202:29000 --port 27001 --chunkSize 8 --logpath=/data1/logs/mongodb/mongos_202.log --logappend --fork --nohttpinterface

配置sharding
./mono --port 27001
mongos> use admin
switched to db admin
db.runCommand( { addshard:"shard1/172.16.200.200:29001,172.16.200.201:29001,172.16.200.202:29001",name:"s1"} );
{ "shardAdded" : "s1", "ok" : 1 }
mongos> db.runCommand( { addshard:"shard2/172.16.200.201:29002,172.16.200.202:29002,172.16.200.200:29002",name:"s2"} );
{ "shardAdded" : "s2", "ok" : 1 }
mongos> db.runCommand( { addshard:"shard3/172.16.200.202:29003,172.16.200.200:29003,172.16.200.201:29003",name:"s3"} )
{ "shardAdded" : "s3", "ok" : 1 }
mongos>
[root@serverA bin]# ./mongo --port 27001
MongoDB shell version: 2.6.0
connecting to: 127.0.0.1:27001/test
mongos>

mongos> show dbs
admin     0.016GB
config    0.016GB
congig    (empty)mongos> use config
switched to db config
mongos> show collections
changelog
chunks
collections
databases
lockpings
locks
mongos
settings
shards
system.indexes
tags
version






分享文章:mongodbshard
文章网址:http://scyanting.com/article/pgcceo.html