MongoDB分片集群部署(一)

2022-02-24 14:50:47 浏览数 (1)

一、安装说明
1.1、文档说明

文档用于使用3台服务器,通过Docker运行MongoDB数据库分片集群。

1.2、集群整体结构图
image.pngimage.png
1.3、分片副本集结构图
image.pngimage.png
1.4、参考文档
代码语言:text复制
分片集群部署:https://docs.mongodb.com/manual/tutorial/deploy-shard-cluster/
keyfile使用:https://docs.mongodb.com/manual/tutorial/deploy-sharded-cluster-with-keyfile-access-control/
二、系统环境
2.1、服务器配置要求

资源

最低要求

推荐配置

CPU

2

4

内存

4

16

磁盘

50

500

操作系统

ubuntu 16.04

ubuntu 18.04

2.2、软件要求

软件

版本

Docker

17.03

MongoDB

4.2.5

2.3、端口使用

应用

协议

端口

mongos

TCP

27017

config

TCP

27018

shard1

TCP

27019

shard2

TCP

27020

shard1

TCP

27021

2.4、部署信息

Primary节点选举产生,Arbiter节点每个服务器一个

172.30.3.231

172.30.3.234

172.30.3.238

mongos

mongos

mongos

config

config

config

shard1

shard1

shard1(Arbiter)

shard2(Arbiter)

shard2

shard2

shard3

shard3(Arbiter)

shard3

2.5、hosts配置,三节点

hosts文件中添加各主机信息

代码语言:shell复制
sudo vim /etc/hosts

内容

代码语言:text复制
172.30.3.231 mongodb-1
172.30.3.234 mongodb-2
172.30.3.238 mongodb-3
2.6、服务器设置,三节点

服务器时区设置为北京,三台服务器时间应保持一致

代码语言:shell复制
sudo cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime
2.7、系统设置

关闭透明大页

代码语言:shell复制
sudo vim /etc/rc.local

增加以下配置

代码语言:shell复制
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

调整允许用户打开文件句柄数

代码语言:shell复制
sudo vim /etc/security/limits.conf

增加以下配置

代码语言:shell复制
* soft nofile 65535
* hard nofile 65535

重启服务器

2.8、生成keyfile

生成keyfile,用于建立集群时验证,需要复制到其他2台服务器

代码语言:shell复制
cd ~
openssl rand -base64 756 > mongo-cluster.key
2.9、安装规范
代码语言:text复制
1、	安装过程中应尽量使用普通用户进行操作
2、	所有安装涉及到的文件均放置在/work目录中,可以使用root用户或普通用户创建该目录,创建完成后应修改所有者以及所有组为普通用户。
3、	应用目录类似/work/project/app/{bin,data,conf,logs}

0 人点赞