配置副本
mongod –replSet spock
config={ “_id”:”spock”, “members”:[ {“_id”:0, “host”:”localhost:27017”}, {“_id”:1, “host”:”localhost:27018”}, {“_id”:2, “host”:”localhost:27019”} ] } rs.initiate(config)
部署分片
准备3台虚拟机,端口映射到主机,分别为 27017、27018、27019、27011、27012 28017、28018、28019、28011、28012 29017、29018、29019、29011、29012
其中27011为配置服务器、27012为mongos服务器、27017、27018、27019为mongodb存储服务器
1、使用dokcer创建三台虚拟机 docker run -p 27017:27017 -p 27018:27018 -p 27019:27019 -p 27011:27011 -p 27012:27012 -it mongo /bin/bash docker run -p 28017:27017 -p 28018:27018 -p 28019:27019 -p 28011:27011 -p 28012:27012 -it mongo /bin/bash docker run -p 29017:27017 -p 29018:27018 -p 29019:27019 -p 29011:27011 -p 29012:27012 -it mongo /bin/bash
2、在三台虚拟机上分别启动mongo配置服务器使用27011端口 mongod –configsvr –replSet configReplSet –dbpath /data/configdb –bind_ip 0.0.0.0 –port 27011 –fork –logpath /data/configdb.log –logappend
rs.initiate( { _id: “configReplSet”, configsvr: true, members: [ { _id: 0, host: “192.168.89.6:27011” }, { _id: 1, host: “192.168.89.6:28011” }, { _id: 2, host: “192.168.89.6:29011” } ] } )
3、在三台虚拟机上分别启动mongos进程供应用程序连接 mongos –configdb configReplSet/192.168.89.6:27011,192.168.89.6:28011,192.168.89.6:29011 –bind_ip 0.0.0.0 –port 27012 –fork –logpath /data/mongos.log –logappend
4、添加单机分片 mongod –shardsvr –dbpath /data/db –bind_ip 0.0.0.0 –port 27017 –fork –logpath /data/db.log –logappend
5、添加到分片
sh.addShard( “
6、为数据库开启分片
sh.enableSharding(“
7、为集合开启分片 必须先创建索引
db.collection.createIndex()
sh.shardCollection(“