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 configmongos> show collectionschangelogchunkscollectionsdatabaseslockpingslocksmongossettingsshardssystem.indexestagsversion