基于docker容器下mongodb 4.0.0 的Replica Sets+Sharded Cluster集群(3)

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 基于docker容器下mongodb 4.0.0 的Replica Sets+Sharded Cluster集群(3)

关联下share21、share22、share23


  • 通过客户端连接


mongo 127.0.0.1:10041


  • 配置


rs.initiate({
    _id: "rs-file-server-shard2-server",
    members: [
        { _id : 0, host : "192.168.50.100:10041" },
        { _id : 1, host : "192.168.50.100:10042" },
        { _id : 2, host : "192.168.50.100:10043" }
    ]
});


mongod服务


安装mongos1


docker run --restart=always --privileged=true -p 10011:27017 -v $PWD/config:/etc/mongod -v $PWD/db:/data/db -d --entrypoint mongos --name pro-file-server-mongos1 mongo:4.0.0 -f /etc/mongod/config.conf --configdb rs-file-server-config-server/192.168.50.100:10021,192.168.50.100:10022,192.168.50.100:10023 --bind_ip_all


安装mongos2


docker run --restart=always --privileged=true -p 10012:27017 -v $PWD/config:/etc/mongod -v $PWD/db:/data/db -d --entrypoint mongos --name pro-file-server-mongos2 mongo:4.0.0 -f /etc/mongod/config.conf --configdb rs-file-server-config-server/192.168.50.100:10021,192.168.50.100:10022,192.168.50.100:10023 --bind_ip_all


安装mongos3


docker run --restart=always --privileged=true -p 10013:27017 -v $PWD/config:/etc/mongod -v $PWD/db:/data/db -d --entrypoint mongos --name pro-file-server-mongos3 mongo:4.0.0 -f /etc/mongod/config.conf --configdb rs-file-server-config-server/192.168.50.100:10021,192.168.50.100:10022,192.168.50.100:10023 --bind_ip_all


配置


  • mongodb客户端连接


mongo 127.0.0.1:10011


  • 配置


sh.addShard("rs-file-server-shard1-server/192.168.50.100:10031,192.168.50.100:10032,192.168.50.100:10033")
sh.addShard("rs-file-server-shard2-server/192.168.50.100:10041,192.168.50.100:10042,192.168.50.100:10043")


测试


  • mongodb客户端连接


mongo 127.0.0.1:10011


  • 创建分片数据库test


sh.enableSharding("test")


  • 将collection加入分片并设置分片字段


sh.shardCollection("test.user", {"_id": "hashed" })


  • 插入1000条数据


a、切换分片库


use test


b、循环插入


for (i = 1; i <= 1000; i=i+1){db.user.insert({'userIndex': 1})}


  • 确认数据


a、查看备份库 每个备份库都是1000


插入完成之后可以在
127.0.0.1:10011,127.0.0.1:10012,127.0.0.1:10013
三台数据库下分别看到test数据库中名为user的Collection拥有一千条数据,
使用以下代码查询记录数
db.getCollection('user').find({}).count()
结果为1000


b、查看分片库 每个分片库之和为1000


现在可以连接到
127.0.0.1:10031,127.0.0.1:10041上使用以上命令查询记录数,
会发现两个数据库的记录数只和正好是1000


  • springboot连接


在application.yml配置即可访问mogos数据库:
spring:
  data :
    mongodb :
      uri: mongodb://127.0.0.1:10011,127.0.0.1:10012,127.0.0.1:10013/test


参考文档


https://blog.csdn.net/quanmaoluo5461/article/details/85164588
相关文章
|
1月前
|
缓存 前端开发 Docker
Docker Layer Caching:加速你的容器构建
Docker Layer Caching:加速你的容器构建
|
2月前
|
运维 持续交付 开发者
Docker:重塑现代应用开发的容器革命
Docker:重塑现代应用开发的容器革命
|
2月前
|
运维 持续交付 开发者
Docker:现代应用开发的容器化革命
Docker:现代应用开发的容器化革命
|
24天前
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
16天前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
164 5
|
17天前
|
监控 Linux 调度
【赵渝强老师】Docker容器的资源管理机制
本文介绍了Linux CGroup技术及其在Docker资源管理中的应用。通过实例演示了如何利用CGroup限制应用程序的CPU、内存和I/O带宽使用,实现系统资源的精细化控制,帮助理解Docker底层资源限制机制。
105 6