mongodb01 | shard11 | shard43 | shard52 | ||
mongodb02 | shard12 | shard21 | shard53 | ||
mongodb03 | shard13 | shard22 | shard31 | ||
mongodb04 | shard23 | shard32 | shard41 | ||
mongodb05 | shard33 | shard42 | shard51 |
# vi /etc/hosts
# vi /etc/sysconfig/network
# hostname newhostname
then relogin
# tar zxvf mongodb-linux-x86_64-2.4.3.tgz
# mkdir -p /mongodb_data/data/shard11
# mkdir -p /mongodb_data/data/shard43
# mkdir -p /mongodb_data/data/shard52
# mkdir -p /mongodb_data/data/shard12
# mkdir -p /mongodb_data/data/shard21
# mkdir -p /mongodb_data/data/shard53
@mongodb01
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard1 -port 29019 -logpath /mongodb_data/data/shard11.log -dbpath /mongodb_data/data/shard11 -fork --logappend
@mongodb02
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard1 -port 29019 -logpath /mongodb_data/data/shard12.log -dbpath /mongodb_data/data/shard12 -fork --logappend
@mongodb03
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard1 -port 29019 -logpath /mongodb_data/data/shard13.log -dbpath /mongodb_data/data/shard13 -fork --logappend
@mongodb02
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard2 -port 29020 -logpath /mongodb_data/data/shard21.log -dbpath /mongodb_data/data/shard21 -fork --logappend
@mongodb03
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard2 -port 29020 -logpath /mongodb_data/data/shard22.log -dbpath /mongodb_data/data/shard22 -fork --logappend
@mongodb04
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard2 -port 29020 -logpath /mongodb_data/data/shard23.log -dbpath /mongodb_data/data/shard23 -fork --logappend
@mongodb03
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard3 -port 29021 -logpath /mongodb_data/data/shard31.log -dbpath /mongodb_data/data/shard31 -fork --logappend
@mongodb04
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard3 -port 29021 -logpath /mongodb_data/data/shard32.log -dbpath /mongodb_data/data/shard32 -fork --logappend
@mongodb05
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard3 -port 29021 -logpath /mongodb_data/data/shard33.log -dbpath /mongodb_data/data/shard33 -fork --logappend
@mongodb04
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard4 -port 29022 -logpath /mongodb_data/data/shard41.log -dbpath /mongodb_data/data/shard41 -fork --logappend
@mongodb05
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard4 -port 29022 -logpath /mongodb_data/data/shard42.log -dbpath /mongodb_data/data/shard42 -fork --logappend
@mongodb01
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard4 -port 29022 -logpath /mongodb_data/data/shard43.log -dbpath /mongodb_data/data/shard43 -fork --logappend
@mongodb05
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard5 -port 29023 -logpath /mongodb_data/data/shard51.log -dbpath /mongodb_data/data/shard51 -fork --logappend
@mongodb01
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard5 -port 29023 -logpath /mongodb_data/data/shard52.log -dbpath /mongodb_data/data/shard52 -fork --logappend
@mongodb02
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard5 -port 29023 -logpath /mongodb_data/data/shard53.log -dbpath /mongodb_data/data/shard53 -fork --logappend
> config = {_id:'shard5',members:[ {_id: 0, host:'192.168.40.84:29023'}, {_id: 1, host:'192.168.40.80:29023'}, {_id: 2, host:'192.168.40.81:29023'}] }
> rs.initiate(config)
@mongodb01~mongodb05
# mkdir /mongodb_data/data/config
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -configsvr -port 29018 -logpath /mongodb_data/data/config.log -dbpath /mongodb_data/data/config -logappend -fork
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongos -configdb 192.168.40.80:29018 -port 29025 -logpath /mongodb_data/data/mongos.log -logappend -fork
# mongo 192.168.40.80:29025
> use admin
> db.runCommand({addshard:"shard1/192.168.40.80:29019,192.168.40.81:29019,192.168.40.82:29019",name:"s1"})
> db.runCommand({addshard:"shard2/192.168.40.81:29020,192.168.40.82:29020,192.168.40.83:29020",name:"s2"})
> db.runCommand({addshard:"shard3/192.168.40.82:29021,192.168.40.83:29021,192.168.40.84:29021",name:"s3"})
> db.runCommand({addshard:"shard4/192.168.40.83:29022,192.168.40.84:29022,192.168.40.80:29022",name:"s4"})
> db.runCommand({addshard:"shard5/192.168.40.84:29023,192.168.40.80:29023,192.168.40.81:29023",name:"s5"})
參考資料: