Mongo 集群部署

1. 集群架构 #

Mongo 集群部署_第1张图片

  • mongos:提供路由数据库集群请求的入口,所有的请求都通过 mongos 进行协调,不需要在应用程序添加一个路由选择器,mongos 自己就是一个请求分发中心,它负责把对应的数据请求转发到对应的 shard 服务器上。在生产环境通常有多 mongos 作为请求的入口,防止其中一个挂掉所有的 mongodb 请求都没有办法操作。
  • config server:为配置服务器,存储所有数据库元信息(路由、分片)的配置。mongos 本身没有物理存储分片服务器和数据路由信息,只是缓存在内存里,配置服务器则实际存储这些数据。mongos 第一次启动或者关掉重启就会从 config server 加载配置信息,以后如果配置服务器信息变化会通知到所有的 mongos 更新自己的状态,这样 mongos 就能继续准确路由。在生产环境通常有多个 config server 配置服务器,因为它存储了分片路由的元数据,防止数据丢失!
  • shard:分片(sharding)是指将数据库拆分,将其分散在不同的机器上的过程。将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处理更大的负载。基本思想就是将集合切成小块,这些块分散到若干片里,每个片只负责总数据的一部分,最后通过一个均衡器来对各个分片进行均衡(数据迁移),从3.6版本开始,每个 shard 必须部署为副本集(replica set)架构。

2. 集群部署规划 #

name ip mongos config server shard cluster 1 shard cluster 2
node-01 127.0.0.1 27090 27080 27117 27217
node-02 127.0.0.1 27091 27081 27118 27218
node-03 127.0.0.1 27092 27082 27119 27218

config server 配置服务器建议部署为包含3个成员的副本集模式,出于测试目的,您可以创建一个单成员副本集; shard 分片请使用至少包含三个成员的副本集。出于测试目的,您可以创建一个单成员副本集; mongos 没有副本集概念,可以部署1个、2个或多个。

3. 下载安装文件 #

下载文件

  • 以 Ubuntu 为例: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-5.0.5.tgz

  • 其他系统下载:https://www.mon

你可能感兴趣的:(运维)