MongoDB 7.0.14 副本集部署

17ab808b064dee1e7410c18aeeb5d498.jpeg

目录

1. 概述

2.节点成员介绍

3.工作原理

4.下载地址

5.部署规划

6.部署

7.注意事项

8.总结

概述

MongoDB 副本集是一个用于数据高可用性和冗余的集群配置。副本集由多个 MongoDB 实例组成,其中一个是主节点(Primary),其余是从节点(Secondary)。主节点负责所有写入操作,从节点则从主节点复制数据,提供读操作的负载均衡,(主节点-从节点-从节点)(推荐);如果情况(例如成本)禁止添加第三个数据承载节点,则可以是两个数据承载节点加一个仲裁节点(主节点-从节点-仲裁节点)

节点成员介绍

主节点以及两个从节点 (P-S-S)

具有三个存储数据的节点的副本集包含:

  • 一个主节点。

  • 两个从节点。两个从节点都可以在选举中成为主节点

    595ece61f551c6e28e0e711a2424e21e.png

主节点、从节点和仲裁节点(P-S-A)

具有两个存储数据的节点的三节点副本集包含:

  • 一个主节点。

  • 一个从节点成员。从节点可以在选举中成为主节点。

  • 一个仲裁节点。仲裁节点仅在选举中投票。

    c52f834c6c0b4e3b3bafbd2d022e5622.png

工作原理

  1. 主从关系:写入操作总是发生在主节点,从节点会异步复制主节点的数据。

  2. 数据同步:从节点定期向主节点请求数据更新,以保持数据一致性。

  3. 故障转移:如果主节点发生故障,副本集中会选举一个新的主节点,确保服务的持续可用性。

  4. 读操作:可以配置从节点处理读操作,以分担主节点的负载。

下载地址

MongoDB Community Downloads | MongoDB

bfc6329163001820583ef72f5db7a3ef.png

部署规划 (P-S-S)

配置hosts解下

10.10.10.21 mon1(Pr)
10.10.10.22 mon2(Se)
10.10.10.23 mon3(Se)

部署

创建相关目录

tar xvf mongodb-linux-x86_64-rhel70-7.0.14.tgz
mv  mongodb-linux-x86_64-rhel70-7.0.14 mongodb
mkdir -p /monogodat
### MongoDB 离线安装与部署指南 对于 MongoDB 的离线安装和部署,可以采用多种方式来完成。以下是基于不同场景下的解决方案: #### 1. 使用官方二进制包进行离线安装 可以通过下载 MongoDB 官方提供的二进制压缩包来进行离线安装。例如,通过 `curl` 下载指定版本的 MongoDB 压缩文件并解压到目标服务器上[^1]。 ```bash curl -O http://downloads.mongodb.org/linux/mongodb-linux-x86_64-3.0.3.tgz tar -zxvf mongodb-linux-x86_64-3.0.3.tgz cd mongodb-linux-x86_64-3.0.3/bin ./mongod --version ``` 此方法适用于网络环境受限的情况,只需提前准备好所需的软件包即可。 --- #### 2. Ansible 实现 MongoDB 副本一键容器化部署 Ansible 是一种强大的自动化工具,能够简化复杂的配置管理任务。针对三台主机上的 MongoDB 副本部署需求,可以利用 Ansible 脚本来实现自动化的容器化部署过程[^3]。 以下是一个简单的 Ansible Playbook 示例用于启动 MongoDB 容器实例: ```yaml --- - name: Deploy MongoDB Replica Set using Docker hosts: all become: yes tasks: - name: Pull MongoDB image locally (if not available offline) docker_image: name: mongo:7.0.14 pull: no - name: Start MongoDB container with replica set configuration docker_container: name: mongors{{ inventory_hostname }} image: mongo:7.0.14 state: started published_ports: - "27017:27017" env: REPLICA_SET_NAME: rs0 ``` 注意:如果处于完全隔离的环境中,则需预先导入镜像至各节点中。 --- #### 3. 利用 Docker Compose 进行多架构支持的离线部署 当面对 X86_64 和 ARM64 不同 CPU 架构混合使用的场景时,推荐借助 Docker Compose 文件定义服务依赖关系,并打包所需资源形成统一交付物[^4]。 下面展示了一个基础的 compose.yml 模板供参考: ```yaml version: '3' services: mongo-node1: image: mongo:7.0.14 command: ["--replSet", "rs0"] ports: - "27017:27017" volumes: - ./data/node1:/data/db mongo-node2: ... ``` 实际应用过程中还需考虑更多细节如初始化脚本编写等事项。 --- #### 备份恢复注意事项 无论采取哪种方式进行部署,在生产环境下都应重视数据安全问题。有关分片群的数据迁移工作较为繁琐,因此强烈建议遵循专业文档指导完成相应操作[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值