自学内容网 自学内容网

MongoDB部署高可用集群

一、准备工作

  1. 修改3台服务器的hostname为mongodb0、mongodb1和mongodb2
        vim /etc/hostname  
        vim /etc/hosts 分别配置3个节点的域名  
            10.5.30.19 mongodb0
            10.5.30.14 mongodb1
            10.5.30.18 mongodb2
  2. 关闭防火墙
  3. 下载mongodb安装包并解压:mongodb-linux-aarch64-ubuntu1804-4.2.7.tgz
        tar zxvf mongodb-linux-aarch64-ubuntu1804-4.2.7.tgz
        名称太长,修改名称  mv mongodb-linux-aarch64-ubuntu1804-4.2.7 mongodb
  4. 安装mongo: 配置环境变量,vim /etc/profile
          export PATH=/opt/mongodb/mongodb-4.2.7/bin:$PATH
    使配置生效:source /etc/profile
  5. 用户及用户组:按需要设置用户和用户组,本环境中统一使用root:root

二、集群架构

  1. 概述
    1.1 MongoDB的集群目前有3种方式主从模式、副本集模式、sharding分片模式),副本集和sharding分片模式是最广泛使用的方案,这2种方案的选择通过数据量和并发数来权衡:GB级别采用副本集方案,TB级别或以上采用sharding模式,解决单机容量和单机并发能力;
    1.2 sharding模式分片越多,性能自然下降越多
  2. 组件及概念说明

序号

组件

说明

1

Mongos Server

1数据库集群请求的入口,所有请求都通过mongos进行协调,不需在应用程序添加路由选择器,mongos自己就是一个请求分发中心,它负责把数据请求请求转发到对应的shard服务器上。
2、在生产环境通常设置多mongos作为请求入口,防止其中一个挂掉所有的mongodb请求都没法操作。

2

config server

1配置服务器存储所有数据库元信息(路由、分片)的配置。
2、mongos本身没有物理存储分片服务器和数据路由信息,只是缓存在内存里,配置服务器则实际存储这些数据。mongos第一次启动或者关掉重启就会从 config server 加载配置信息,以后如果配置服务器信息变化会通知到所有的mongos更新自己的状态,这样mongos就能继续准确路由。
3、在生产环境通常设置多个 config server ,因为它存储了分片路由的元数据,防止单点数据丢失!

3

shard server

1、分片(sharding)是指将数据库拆分,将其分散在不同的机器上的过程。将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处理更大的负载。
2、基本思想就是将集合切成小块,这些块分散到若干片里,每个片只负责总数据的一部分,最后通过一个均衡器来对各个分片进行均衡(数据迁移)。

4

replica set

1、副本集其实就是shard的备份,防止shard挂掉之后数据丢失。
2、复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性, 并可以保证数据的安全性。

5

仲裁者(Arbiter)

1、是复制集中的一个MongoDB实例,它并不保存数据。
2、仲裁节点使用最小的资源并且不要求硬件设备,
不能将Arbiter部署在同一个数据集节点中,可以部署在其他应用服务器或者监视服务器中,也可部署在单独的虚拟机中
3、为了确保复制集中有奇数的投票成员(包括primary),需要添加仲裁节点做为投票,否则primary不能运行时不会自动切换primary。


原文地址:https://blog.csdn.net/weixin_38203586/article/details/144724959

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!