1. 安装包:mongodb-linux-x86_64-2.6.1.tgz
linux: https://www.mongodb.org/dl/linux/x86_64-amazon?_ga=2.65093806.128540913.1514184367-2061892653.1501032684
windows: https://www.mongodb.org/dl/win32/x86_64-2008plus-ssl?_ga=2.67700753.128540913.1514184367-2061892653.1501032684
2. MongoDB1,MongoDB2,MongoDB3创建相关目录
--分片数据库
mkdir /data/mongodb2610/logs/shardDBLogs
mkdir /data/mongodb2610/db/shardDB
mkdir /data/mongodb2610/config/shardDBConfig
mkdir /data/mongodb2610/db/shardDB/shard_1
mkdir /data/mongodb2610/db/shardDB/shard_2
mkdir /data/mongodb2610/db/shardDB/shard_3
--config数据库
mkdir /data/mongodb2610/logs/configDBLogs
mkdir /data/mongodb2610/db/configDB
mkdir /data/mongodb2610/config/configDBConfig
--mongos路由
mkdir /data/mongodb2610/logs/routeDBLogs
mkdir /data/mongodb2610/config/routeDBConfig
3. 创建配置文件
--shard_1.cfg
dbpath=/data/mongodb2610/db/shardDB/shard_1
logpath=/data/mongodb2610/logs/shardDBLogs/shard_1.log
logappend=true
fork=true
port=27021
nohttpinterface=true
replSet=rs_shard_1
shardsvr=true
--shard_2.cfg
dbpath=/data/mongodb2610/db/shardDB/shard_2
logpath=/data/mongodb2610/logs/shardDBLogs/shard_2.log
logappend=true
fork=true
port=27022
nohttpinterface=true
replSet=rs_shard_2
shardsvr=true
--shard_3.cfg
dbpath=/data/mongodb2610/db/shardDB/shard_3
logpath=/data/mongodb2610/logs/shardDBLogs/shard_3.log
logappend=true
fork=true
port=27023
nohttpinterface=true
replSet=rs_shard_3
shardsvr=true
--configDB.cfg
dbpath=/data/mongodb2610/db/configDB
logpath=/data/mongodb2610/logs/configDBLogs/configDB.log
logappend=true
fork=true
port=27100
nohttpinterface=true
configsvr=true
--routeDB.cfg
logpath=/data/mongodb2610/logs/routeDBLogs/routeDB.log
logappend=true
fork=true
port=27017
nohttpinterface=true
chunkSize=1
configdb=192.168.10.146:27100,192.168.10.147:27100,192.168.10.148:27100
db.logs_newcheckout.find({"timestamp":{$gte: new Date('2017/12/01 00:00:00'),$lt: new Date('2017/12/15 00:00:00')}})
db.logs_MyAccount.find({"timestamp":{$gte: new Date('2017/12/01 00:00:00'),$lt: new Date('2017/12/15 00:00:00')}})
4. 配置复制集
/mongodb2610/bin/mongod -f /data/mongodb2610/config/shardDBConfig/shard_1.cfg
/mongodb2610/bin/mongod -f /data/mongodb2610/config/shardDBConfig/shard_2.cfg
/mongodb2610/bin/mongod -f /data/mongodb2610/config/shardDBConfig/shard_3.cfg
--MongoDB1
/mongodb2610/bin/mongo --port 27021
config = {_id: 'rs_shard_1', members: [
{_id: 0, host: '192.168.10.146:27021'},
{_id: 1, host: '192.168.10.147:27021'},
{_id: 2, host: '192.168.10.148:27021',arbiterOnly:true}]
}
rs.initiate(config)
--MongoDB2
/mongodb2610/bin/mongo --port 27022
config = {_id: 'rs_shard_2', members: [
{_id: 2, host: '192.168.10.146:27022',arbiterOnly:true},
{_id: 0, host: '192.168.10.147:27022'},
{_id: 1, host: '192.168.10.148:27022'}]
}
rs.initiate(config)
--MongoDB3
/mongodb2610/bin/mongo --port 27023
config = {_id: 'rs_shard_3', members: [
{_id: 0, host: '192.168.10.148:27023'},
{_id: 2, host: '192.168.10.147:27023',arbiterOnly:true},
{_id: 1, host: '192.168.10.146:27023'}]
}
rs.initiate(config)
5. 配置分片
/mongodb2610/bin/mongod -f /data/mongodb2610/config/configDBConfig/configDB.cfg
/mongodb2610/bin/mongos -f /data/mongodb2610/config/routeDBConfig/routeDB.cfg
---任意mongos执行
/mongodb2610/bin/mongo --port 27017
use admin
db.runCommand({addshard:"rs_shard_1/192.168.10.146:27021,192.168.10.147:27021,192.168.10.148:27021"});
db.runCommand({addshard:"rs_shard_2/192.168.10.146:27022,192.168.10.147:27022,192.168.10.148:27022"});
db.runCommand({addshard:"rs_shard_3/192.168.10.146:27023,192.168.10.147:27023,192.168.10.148:27023"});
6. 启用分片
--对数据库
db.runCommand( { enablesharding :"testdb"});