首页 > 其他 > 详细

docker——用docker部署mongo分片,添加两片,每片为三节点副本集

时间:2021-05-17 22:00:53      阅读:37      评论:0      收藏:0      [点我收藏+]

 三台机器,centos7 64,  

192.168.1.20

192.168.1.21

192.168.1.22

docker pull mongo:4.0.24
docker run -d --name mongo27017 -p 27017:27017 mongo:4.0.24


1、分别在三台机器启动并配置config副本集

docker run -d --name mongoconfig -p 26001:27019 -v /root/data/soft/mongo/configdb:/data/configdb \mongo:4.0.24 --configsvr --replSet "replconfig" --bind_ip_all

看状态

docker exec -it mongoconfig mongo 127.0.0.1:27019 -eval "db.stats()"

初始化config副本集(初始化失败的话,防火墙中加入容器网段,因为宿主认为容器网段为非法ip)
进入容器mongo

docker exec -it mongoconfig mongo 192.168.1.20:26001

执行

rs.status()
config = {
_id : "replconfig",
members : [
{_id : 0, host : "192.168.1.20:26001" },
{_id : 1, host : "192.168.1.21:26001" },
{_id : 2, host : "192.168.1.22:26001" }
]
}
rs.initiate(config)

2、mongos入口服务

docker run -d --name mongos -p 27017:27017 --entrypoint "mongos" mongo:4.0.24 --configdb replconfig/192.168.1.20:26001,192.168.1.21:26001,192.168.1.22:26001 --bind_ip_all

查看分片状态

docker exec -it mongos mongo 192.168.1.20:27017 -eval "sh.status()"


3、做第一个分片,副本集

docker run -d --name mongoshard1 -p 26002:27018 -v /root/data/soft/mongo/shard1db:/data/db mongo:4.0.24 --shardsvr --replSet "replshard1" --bind_ip_all

进入容器mongo

docker exec -it mongoconfig mongo 192.168.1.20:26002

执行

rs.status()
config = {
_id : "replshard1",
members : [
{_id : 0, host : "192.168.1.20:26002" },
{_id : 1, host : "192.168.1.21:26002" },
{_id : 2, host : "192.168.1.22:26002" }
]
}
rs.initiate(config)

4、做第二个分片,副本集

docker run -d --name mongoshard2 -p 26003:27018 -v /root/data/soft/mongo/shard2db:/data/db mongo:4.0.24 --shardsvr --replSet "replshard2" --bind_ip_all

进入容器mongo

docker exec -it mongoconfig mongo 192.168.1.20:26003

执行

rs.status()
config = {
_id : "replshard2",
members : [
{_id : 0, host : "192.168.1.20:26003" },
{_id : 1, host : "192.168.1.21:26003" },
{_id : 2, host : "192.168.1.22:26003" }
]
}
rs.initiate(config)


4、添加分片

sh.status()
sh.addShard("replshard1/192.168.1.20:26002,192.168.1.21:26002,192.168.1.22:26002")
sh.addShard("replshard2/192.168.1.20:26003,192.168.1.21:26003,192.168.1.22:26003")

 

docker——用docker部署mongo分片,添加两片,每片为三节点副本集

原文:https://www.cnblogs.com/xingchong/p/14778146.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!