MongoDB分片集群搭建全过程

0
107

MongoDB 分片集群组件

一个 MongoDB 分片集群由以下三个组件构成:

  • shard:每个分片是整体数据的一部分子集,每个分片都可以部署为副本集。

  • mongos:充当查询路由器,提供客户端应用程序和分片集群之间的接口。应用程序直接连接 mongos 即可,可以部署一个或多个。

  • config servers:配置服务器存储集群的元数据和配置(包括权限认证相关),必须将配置服务器部署为副本集(CSRS,全称是 Config Servers Replica Set)。

MongoDB 官网文档中有一张经典的图片为我们展示了分片集群的架构图:

因为MongoDB分片集群对副本集的依赖比较大,所以先介绍一下如何搭建MongoDB副本集。

MongoDB副本集搭建

本文演示环境:

系统 节点IP 节点类型
centos7.5 192.168.3.31 primary
centos7.5 192.168.3.32 secondary
centos7.5 192.168.3.33 secondary

mongodb 使用官网 mongodb-linux-x86_64-3.6.17 二进制包。

在三台机器上分别搭建实例

确保三台机器都按以上步骤安装了MongoDB实例,然后就可以开始配置副本集

副本集配置比较简单,主要关注两个参数 replSet (每个节点必须配置一致)和 keyFile (认证相关)

一个3节点的MongoDB副本集到此已经搭建完毕

分片集群环境搭建

前面介绍了,一个分片集群由shard、mongos和config组成,本文演示搭建3个shard(3 节点副本集),1 个 config server(3 节点副本集)加 2 个 mongos 的分片集群。

三台机器,每台机器上部署3个shard(副本集),每台机器部署1 个 config server(副本集),在primary和其中一个secondary上部署一个mongos。

副本集的搭建上面已经介绍过了,部署shard的副本集就是增加配置文件(端口使用 27017、27018、27019)

config的副本集的搭建过程也是一样,只是配置有一点区别

mongos路由的配置就比较简单了

至此,一个 3 shard(副本集)、1 config server(副本集),2 mongos路由的MongoDB的分片集群就搭建成功了。

留下一个答复

请输入你的评论!
请在这里输入你的名字

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据