mongodb 集群shard_mongodb集群构建方案(二)

0.创建网段

docker network create mongo

1.编写yaml文件,,这里我命名fates-mongo-compose.yaml

以下这个文件,建立3个mongo shard服务,3个secondary服务,3个arbiter服务,3个mongo config服务, 1个mongos服务:

1dfd2fa0ac5f2ccfbd1a86866256e29e.png

534a11c61bf0d7b183c0ed35e8d85d50.png

2.编写deploy-and-start.sh脚本

6ba4846dad3c486e54f14995a005cd96.png

该脚本流程详细描述一下

1. 先启动mongodb分片容器组

2. 睡眠30s等待容器全部完全启动(可能不需要30s)

3. 操作config1,配置config副本集,将config*容器组作为config角色,此时config1作为config副本集里的主节点

4. 操作shard1、shard2、shard3,将shard*容器组作为shard角色。

5. 将shard1、shard2、shard3加入分片集群组。

3.运行 

执行脚本

# sh deploy-and-start.sh 等待脚本启动完成,如果出现connect fail报错,检查一下网络,再次启动一次脚本即可。

到这里,单机版的mongodb的分片集群,就搭建好了,一般真正的运维环境,Mongodb集群应该分布在不同的机器,把名称+端口缓存ip+端口就行了。

9f8af03d7e1a7d62e0de77fb3ca77ee8.png

这样,一共创建了13个容器,包括

1个mongos

3个configserver

3个shard

3个secondary 

3个arbiter

他们组成了我们前面所说的集群!如果用图表示这个集群,他们就是:

e22ebf71a0dd72a5117bcb2c2092abd9.png

4.验证:

#需要进入mongodb客户端进行验证:进入mongos容器:

38a29ce7899c252579ed81cc13f16aaa.png

如上所示, 三个分片集已经运行起来了,并且状态都是正常, 如上三个分片都显示:"state" : 1

查看分片详细:

进入mongos客户端,按着如下进行操作:

1dfde029acd01609053ae7bf7dc74b0b.png

如上,可以看到(分片集+副本集)成功了:

8cfb651a225a1b38d6327a85d8689b16.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值