复制集注意事项
关于复制集:
- 复制集为 MongoDB 提供了数据可靠性,当某个节点挂掉,可以重新选举出主节点;
- 复制集为 MongoDB 提供了数据安全性,当节点宕机后,备份数据保证数据不丢失;
- 复制集为 MOngoDB 提供了高性能,可通过配置主从读写分离提高服务性能;
关于硬件:
- 因为正常的复制集节点都有可能成为主节点,它们的地位是一样的,因此硬件配置上必须一致;
- 为了保证节点不会同时宕机,各节点使用的硬件必须具有独立性;
- 此处用的 Docker 在同一个虚拟机上模拟三个节点;
关于软件:
- 复制集各节点软件版本必须一致,以避免出现不可预知的问题;
- 增加节点不会增加系统写性能;
- 此处用的 MongoDB 6.0.5 版本;
环境准备
- Docker 安装 MongoDB 并配置好环境变量;
- 确保有 10GB 以上的硬盘空间;
- 默认已安装 Docker,没安装的话请参考我的 Docker 教程;
- 宿主机器为 CentOS7;
一主两从架构图:
安装步骤
(1)准备配置文件
复制集的每个 mongod 进程应该位于不同的服务器。我们现在在一台机器上运行 3 个进程,因此要为它们各自配置:
- 不同的端口(28017/28018/28019)
- 不同的数据目录
mkdir -p /data/db{
1,2,3}

- 不同日志文件路径(例如:/data/db1/logs)
mkdir -p /data/db{
1,2,3}/logs
创建配置文件/data/db1/mongod.conf,内容如下:
systemLog:
destination: file
path: /data/logs/mongod.log # log path
logAppend: true
storage:
dbPath: /data/db # data directory
net:
bindIp: 0.0.0.0
port: 27017 # port
replication:
replSetName: rs0 # 复制集名称
# processManagement: # 设置了该项会导致docker exec -it mongodb1 bash 进入容器后马上自动退出
# fork: true
将该配置文件复制都 db2、

最低0.47元/天 解锁文章
359

被折叠的 条评论
为什么被折叠?



