/**
*安装mongoDB集群
*
*Ubuntu 14.04.1
*mongodb-x86_64-3.2.11
*
*server1-->172.16.3.103
*server2-->172.16.3.105
*server2-->172.16.3.106
*/#server1 #server2 #server3
cd /data
sudo mkdir mongodb
sudo chown -R mpr:mpr mongodb
cd /data/mongodb
tar -zxvf mongodb-linux-x86_64-ubuntu1404-3.2.11.tgz
mv mongodb-linux-x86_64-ubuntu1404-3.2.11/* /data/mongodb
rm -rf mongodb*
chmod -R 755 /data/mongodb/*
#server1
mkdir -p data/shard11
mkdir -p data/shard21
mkdir -p config/config1
mkdir log
mkdir pid
#server2
mkdir -p data/shard12
mkdir -p data/shard22
mkdir -p config/config2
mkdir log
mkdir pid
#server3
mkdir -p data/shard13
mkdir -p data/shard23
mkdir -p config/config3
mkdir log
mkdir pid
######################################################
#server1vim shard11.conf
dbpath=/data/mongodb/data/shard11
logpath=/data/mongodb/log/shard11.log
pidfilepath=/data/mongodb/pid/shard11.pid
directoryperdb=true
logappend=true
replSet=shard1
port=10011
fork=true
shardsvr=true
journal=true
vim shard21.conf
dbpath=/data/mongodb/data/shard21
logpath=/data/mongodb/log/shard21.log
pidfilepath=/data/mongodb/pid/shard21.pid
directoryperdb=true
logappend=true
replSet=shard2
port=10021
fork=true
shardsvr=true
journal=true
vim config1.conf
dbpath=/data/mongodb/config/config1
logpath=/data/mongodb/log/config1.log
pidfilepath=/data/mongodb/pid/config1.pid
directoryperdb=true
logappend=true
port=10031
fork=true
configsvr=true
journal=true
vim route.conf
configdb=172.16.3.103:10031,172.16.3.105:10032,172.16.3.106:10033
pidfilepath=/data/mongodb/pid/route.pid
port=10040
chunkSize=1
logpath=/data/mongodb/log/route.log
logappend=true
fork=true
-----------------------------------------------------------
#server2
dbpath=/data/mongodb/data/shard12
logpath=/data/mongodb/log/shard12.log
pidfilepath=/data/mongodb/pid/shard12.pid
directoryperdb=true
logappend=true
replSet=shard1
port=10012
fork=true
shardsvr=true
journal=true
vim shard22.conf
dbpath=/data/mongodb/data/shard22
logpath=/data/mongodb/log/shard22.log
pidfilepath=/data/mongodb/pid/shard22.pid
directoryperdb=true
logappend=true
replSet=shard2
port=10022
fork=true
shardsvr=true
journal=true
vim config2.conf
dbpath=/data/mongodb/config/config2
logpath=/data/mongodb/log/config2.log
pidfilepath=/data/mongodb/pid/config2.pid
directoryperdb=true
logappend=true
port=10032
fork=true
configsvr=true
journal=true
vim route2.conf
configdb=172.16.3.103:10031,172.16.3.105:10032,172.16.3.106:10033
pidfilepath=/data/mongodb/pid/route.pid
port=10042
chunkSize=1
logpath=/data/mongodb/log/route2.log
logappend=true
fork=true
-----------------------------------------------------
#server3
dbpath=/data/mongodb/data/shard13
logpath=/data/mongodb/log/shard13.log
pidfilepath=/data/mongodb/pid/shard13.pid
directoryperdb=true
logappend=true
replSet=shard1
port=10013
fork=true
shardsvr=true
journal=true
vim shard23.conf
dbpath=/data/mongodb/data/shard23
logpath=/data/mongodb/log/shard23.log
pidfilepath=/data/mongodb/pid/shard23.pid
directoryperdb=true
logappend=true
replSet=shard2
port=10023
fork=true
shardsvr=true
journal=true
vim config3.conf
dbpath=/data/mongodb/config/config3
logpath=/data/mongodb/log/config3.log
pidfilepath=/data/mongodb/pid/config3.pid
directoryperdb=true
logappend=true
port=10033
fork=true
configsvr=true
journal=true
vim route3.conf
configdb=172.16.3.103:10031,172.16.3.105:10032,172.16.3.106:10033
pidfilepath=/data/mongodb/pid/route3.pid
port=10043
chunkSize=1
logpath=/data/mongodb/log/route3.log
logappend=true
fork=true
################################################
#server1
bin/mongod -f shard11.conf
bin/mongod -f shard21.conf
bin/mongod -f config1.conf
bin/mongos -f route.conf
#server2
bin/mongod -f shard12.conf
bin/mongod -f shard22.conf
bin/mongod -f config2.conf
bin/mongos -f route2.conf
#server3
bin/mongod -f shard13.conf
bin/mongod -f shard23.conf
bin/mongod -f config3.conf
bin/mongos -f route3.conf
#################################
bin/mongo 172.16.3.103:10011
use admin
#定义副本集配置
config = { _id:"shard1", members:[
{_id:0,host:"172.16.3.103:10011"},
{_id:1,host:"172.16.3.105:10012"},
{_id:2,host:"172.16.3.106:10013",arbiterOnly:true}
]
};
rs.initiate(config);
bin/mongo 172.16.3.103:10021
use admin
#定义副本集配置
config = { _id:"shard2", members:[
{_id:0,host:"172.16.3.103:10021"},
{_id:1,host:"172.16.3.105:10022"},
{_id:2,host:"172.16.3.106:10023",arbiterOnly:true}
]
};
rs.initiate(config);
bin/mongo 172.16.3.103:10040
use admin
db.runCommand({addshard:"shard2/172.16.3.103:10021,172.16.3.105:10022,172.16.3.106:10023"});
db.runCommand({ listshards:1 }); #列出 shard 个数
db.runCommand({enablesharding:"lcrslogdb"}); #创建 lcrslogdb 库
db.runCommand({ shardcollection : "lcrslogdb.log_collection",key : {isliCode: 1,parseTime:1},unique : false }); # 使用 log_collection 表来做分片
use lcrslogdb;
for(var i=1;i<=1000;i++)db.log_collection.save({id:i,value1:"1234567890",value2:"1234567890"});
rs.status();
db.log_collection.stats();
参考:
1.http://www.cnblogs.com/smartloli/p/4305739.html
2.http://blog.csdn.net/mchdba/article/details/51867303
3.http://www.lanceyan.com/category/tech/mongodb