Mongodb7.0.14集群分片部署

9ad7c166628a110891a48f48f820c38f.jpeg

目录

1. 概述

2. 使用场景

3. 优缺点

4. 节点作用

5. 部署规划

6. 内存配额

7. 配置文件

8. 配置集群分片

9. 开启认证

10. 集群验证

11. 总结

概述

MongoDB 集群分片是一种水平扩展数据库的方法,通过将数据分布在多个物理服务器上,提高系统的性能和可扩展性。分片的核心思想是将数据分成多个部分(称为“分片”),每个分片存储在不同的服务器上,从而分散负载,提高查询和写入性能。

使用场景

  1. 大规模数据存储:当单个 MongoDB 实例无法处理大量数据时,可以使用分片来分布数据,提高存储容量。

  2. 高并发访问:在高并发读写场景下,分片可以分散负载,提高系统的响应速度和吞吐量。

  3. 地理分布:当数据需要在全球范围内访问时,分片可以将数据分布到不同的地理位置,减少网络延迟。

  4. 实时分析:在需要实时处理大量数据的场景下,分片可以提高查询性能,支持实时分析和报表生成。

优缺点

优点

  1. 高可扩展性:通过增加更多的分片服务器,可以轻松扩展存储和计算能力。

  2. 高可用性:每个分片可以配置为副本集,提供数据冗余和故障恢复能力。

  3. 负载均衡:数据和查询负载可以均匀分布在多个分片上,提高整体性能。

  4. 灵活的数据分布:可以根据业务需求选择合适的分片键,优化数据分布和查询性能。

缺点

  1. 复杂性:分片架构比单实例架构更复杂,需要更多的管理和维护工作。

  2. 配置和管理成本:需要配置路由服务器、配置服务器和分片服务器,增加了初始设置和运维成本。

  3. 数据迁移:在分片键选择不当或数据增长过快时,可能需要重新平衡数据,导致额外的开销。

  4. 查询性能:跨分片的聚合查询和联合查询可能会影响性能,需要优化查询策略。

节点作用

  1. mongos(路由服务器)

  • 作用:作为客户端应用程序和分片集群之间的接口,负责路由查询和写入操作到正确的分片。

  • 特点:无状态,可以横向扩展,提高系统的并发处理能力。

  1. shard(分片服务器)

  • 作用:存储实际的数据,每个分片可以是一个独立的 MongoDB 实例或副本集。

  • 特点:数据分布在多个分片上,每个分片负责一部分数据,提高存储和查询性能。

  1. config server(配置服务器)

  • 作用:存储集群的元数据信息,如分片键、分片分布、路由信息等。

  • 特点:通常使用副本集形式部署,确保高可用性和数据冗余。

下载地址

MongoDB Community Downloads | MongoDB

配置hosts解下

vim /etc/hosts
10.10.10.21 mon1
10.10.10.22 mon2
10.10.10.23 mon3

集群规划

10.10.10.21 mon1:mongos(30000)\config(27017-主)\shard1(40001-主)\shard2(40002-从)\shard3(40003-从)
10.10.10.22 mon2:mongos(30000)\config(27017-从)\shard1(40001-从)\shard2(40002-主)\shard3(40003-从)
10.10.10.23 mon3:mongos(30000)\config(27017-从)\shard1(40001-从)\shard2(40002-从)\shard3(40003-主)


3台机,每台机5个组件,分别mongos 1 个,config server 1 个,shard server 3 个

部署

解压(三台机器)

mongosh:
wget https://downloads.mongodb.com/compass/mongosh-2.3.1-linux-x64.tgz
tar xvf mongosh-2.3.1-linux-x64.tgz
mongodb:
tar xvf mongodb-linux-x86_64-rhel70-7.0.14.tgz
mv  mongodb-linux-x86_64-rhel70-7.0.14 mongodb

创建相关目录(三台机器)

[root@easyliao012 monogocluster]# mkdir -p /monogocluster/shard{1,2,3}/{config,log,data}
[root@easyliao012 monogocluster]#mkdir -p /monogocluster/mongos/{config,log,data}
[root@easyliao012 monogocluster]# mkdir -p /monogocluster/config/{config,log,data}

内存配置

shard 和 config 服务器的 WiredTiger 缓存大小的分配建议:

1. Shard

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值