mongoDB 环境搭建
******************
单机搭建
数据目录:/data/db
下载镜像
docker pull mongo
创建容器
docker run -it -d -p 27017:27017 \
-v /usr/mongo/single/data:/data/db \
--name mongo-single mongo
******************
副本集搭建
创建容器
docker run -it -d --net fixed --ip 172.18.0.21 -p 27117:27017 -v /usr/mongo/replSet/node-1/data:/data/db --name node-1 mongo --replSet rs
docker run -it -d --net fixed --ip 172.18.0.22 -p 27118:27017 -v /usr/mongo/replSet/node-2/data:/data/db --name node-2 mongo --replSet rs
docker run -it -d --net fixed --ip 172.18.0.23 -p 27119:27017 -v /usr/mongo/replSet/node-3/data:/data/db --name node-3 mongo --replSet rs
副本集初始化命令
cnf = {_id:"rs",members:[{_id:0,host:"172.18.0.21:27017"},{_id:1,host:"172.18.0.22:27017"},{_id:2,host:"172.18.0.23:27017"}]} //节点配置信息
rs.initiate(cnf) //初始化副本集
rs.isMaster() //查看当前节点是否是主节点
rs.status() //查看整个副本集的状态
******************
分片集群部署
创建分片存储副本集
docker run -it -d --net fixed --ip 172.18.0.34 -p 27318:27018 -v /usr/mongo/cluster/sharding/data-1.1:/data/db --name node-1.1 mongo --shardsvr --replSet sh-1
docker run -it -d --net fixed --ip 172.18.0.35 -p 27319:27018 -v /usr/mongo/cluster/sharding/data-1.2:/data/db --name node-1.2 mongo --shardsvr --replSet sh-1
docker run -it -d --net fixed --ip 172.18.0.36 -p 27320:27018 -v /usr/mongo/cluster/sharding/data-1.3:/data/db --name node-1.3 mongo --shardsvr --replSet sh-1
docker run -it -d --net fixed --ip 172.18.0.37 -p 27321:27018 -v /usr/mongo/cluster/sharding/data-2.1:/data/db --name node-2.1 mongo --shardsvr --replSet sh-2
docker run -it -d --net fixed --ip 172.18.0.38 -p 27322:27018 -v /usr/mongo/cluster/sharding/data-2.2:/data/db --name node-2.2 mongo --shardsvr --replSet sh-2
docker run -it -d --net fixed --ip 172.18.0.39 -p 27323:27018 -v /usr/mongo/cluster/sharding/data-2.3:/data/db --name node-2.3 mongo --shardsvr --replSet sh-2
docker run -it -d --net fixed --ip 172.18.0.40 -p 27324:27018 -v /usr/mongo/cluster/sharding/data-3.1:/data/db --name node-3.1 mongo --shardsvr --replSet sh-3
docker run -it -d --net fixed --ip 172.18.0.41 -p 27325:27018 -v /usr/mongo/cluster/sharding/data-3.2:/data/db --name node-3.2 mongo --shardsvr --replSet sh-3
docker run -it -d --net fixed --ip 172.18.0.42 -p 27326:27018 -v /usr/mongo/cluster/sharding/data-3.3:/data/db --name node-3.3 mongo --shardsvr --replSet sh-3
创建配置服务器
docker run -it -d --net fixed --ip 172.18.0.43 -p 27419:27019 -v /usr/mongo/cluster/config/data-1:/data/db --name config-1 mongo --configsvr --replSet config
docker run -it -d --net fixed --ip 172.18.0.44 -p 27420:27019 -v /usr/mongo/cluster/config/data-2:/data/db --name config-2 mongo --configsvr --replSet config
docker run -it -d --net fixed --ip 172.18.0.45 -p 27421:27019 -v /usr/mongo/cluster/config/data-3:/data/db --name config-3 mongo --configsvr --replSet config
创建路由服务器
docker run -it -d --net fixed --ip 172.18.0.61 -p 27217:27017 --name mongos-1 mongo mongos --configdb config/172.18.0.73:27019,172.18.0.74:27019,172.18.0.75:27019 --bind_ip_all
docker run -it -d --net fixed --ip 172.18.0.62 -p 27218:27017 --name mongos-2 mongo mongos --configdb config/172.18.0.73:27019,172.18.0.74:27019,172.18.0.75:27019 --bing_ip_all
docker run -it -d --net fixed --ip 172.18.0.63 -p 27219:27017 --name mongos-3 mongo mongos --configdb config/172.18.0.73:27019,172.18.0.74:27019,172.18.0.75:27019 --bind_ip_all
进入任一路由服务器,添加分片副本集即可创建分片集群
sh.addShard("sh-1/172.18.0.64:27018,172.18.0.65:27018,172.18.0.66:27018")
sh.addShard("sh-2/172.18.0.67:27018,172.18.0.68:27018,172.18.0.69:27018")
sh.addShard("sh-3/172.18.0.70:27018,172.18.0.71:27018,172.18.0.72:27018")