基于Docker 安装 MongoDB副本集

本文详细介绍了在生产环境中为何不适用单机部署MongoDB,强调了副本集在提升数据安全性、实现故障转移和读写分离方面的重要性。通过拉取Docker镜像、创建配置文件、启动镜像等步骤,演示了如何搭建MongoDB副本集,并讲解了副本集成员状态和角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

单机的缺点

  1. 单机部署MongoDB时,一旦进程发生故障或者服务宕机,业务将直接不可用。
  2. 单机情况下,一旦服务器上的磁盘发生损坏,数据很有可能会直接丢失,导致业务发生瘫痪,公司遭遇严重损失。

       基于这两个原因,单机版并不适用于生产环境。生产环境需要更多的副本保证数据的安全性,同时在服务故障的情况下,自动进行恢复,达到服务的高可用。

副本集的作用

  • 提升数据安全性,自动提供故障转移
  • 可以进行读写分离,提升数据库并发读的访问能力,减轻单机负载

副本集的创建

示例中,所有成员都在同一个数据中心,为192.168.1.20,192.168.1.21,192.168.1.22。
(由于处于同一数据中心,如果中心不可用,则服务不能正常运转,生产环境中可以将两台服务器放在同一数据中心,这样只要主中心正常,就可以提供服务)
副本集选择主节点时,需要大多数节点的支持,这里的大多数定义为“一半以上的成员“。因此在副本集遭遇故障、异常的情况下如何保证“大多数”。基于该因素会有不同的拓扑结构。

拉取mongoDB镜像
 docker pull mongo:4.4
创建配置文件
replication:
   replSetName: "ant"
net:
   bindIp: 0.0.0.0
   port: 27017
security:
   authorization: enabled
   keyFile: /data/keyFile/mongo.keyfile
<
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼摊买鱼,菜摊卖菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值