一、准备工作
- 修改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 - 关闭防火墙
- 下载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 - 安装mongo: 配置环境变量,vim /etc/profile
export PATH=/opt/mongodb/mongodb-4.2.7/bin:$PATH
使配置生效:source /etc/profile - 用户及用户组:按需要设置用户和用户组,本环境中统一使用root:root
二、集群架构
- 概述:
1.1 MongoDB的集群目前有3种方式(主从模式、副本集模式、sharding分片模式),副本集和sharding分片模式是最广泛使用的方案,这2种方案的选择通过数据量和并发数来权衡:GB级别采用副本集方案,TB级别或以上采用sharding模式,解决单机容量和单机并发能力;
1.2 sharding模式分片越多,性能自然下降越多 - 组件及概念说明:
序号 | 组件 | 说明 |
1 | Mongos Server | 1、数据库集群请求的入口,所有请求都通过mongos进行协调,不需在应用程序添加路由选择器,mongos自己就是一个请求分发中心,它负责把数据请求请求转发到对应的shard服务器上。 |
2 | config server | 1、配置服务器,存储所有数据库元信息(路由、分片)的配置。 |
3 | shard server | 1、分片(sharding)是指将数据库拆分,将其分散在不同的机器上的过程。将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处理更大的负载。 |
4 | replica set | 1、副本集,其实就是shard的备份,防止shard挂掉之后数据丢失。 |
5 | 仲裁者(Arbiter) | 1、是复制集中的一个MongoDB实例,它并不保存数据。 |