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:
serverC: ./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
./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