温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

mongodb怎么集群部署

发布时间:2026-11-07 21:15:52 来源:亿速云 阅读:89 作者:小樊 栏目:数据库

MongoDB 集群部署通常指的是 MongoDB 副本集(Replica Set) 或 分片集群(Sharded Cluster)。下面我按常见生产场景给你一个清晰、可落地的说明。


一、MongoDB 集群的几种形态

1️⃣ 副本集(Replica Set)【最常用】

  • 用于 高可用
  • 一般 3 节点(1 Primary + 2 Secondary)
  • 自动故障转移

✅ 适合绝大多数业务


2️⃣ 分片集群(Sharded Cluster)【大规模】

  • 用于 水平扩展
  • 包含:
    • mongos(路由)
    • config server(配置)
    • shard(副本集)

✅ 数据量非常大(TB 级)才需要


二、副本集部署(最推荐)

环境示例(3 台服务器)

192.168.1.10  mongo1
192.168.1.11  mongo2
192.168.1.12  mongo3

1️⃣ 每台机器安装 MongoDB

(以 Linux 为例)

# 示例(Ubuntu)
sudo apt-get install -y mongodb-org

2️⃣ 修改配置文件 /etc/mongod.conf

关键配置(三台都改)

storage:
  dbPath: /var/lib/mongodb

net:
  bindIp: 0.0.0.0
  port: 27017

replication:
  replSetName: rs0

⚠️ 生产环境不要用 0.0.0.0,应限制 IP


3️⃣ 启动 MongoDB

systemctl start mongod

4️⃣ 初始化副本集(只在主节点执行一次)

mongo
rs.initiate({
  _id: "rs0",
  members: [
    { _id: 0, host: "192.168.1.10:27017" },
    { _id: 1, host: "192.168.1.11:27017" },
    { _id: 2, host: "192.168.1.12:27017" }
  ]
})

查看状态:

rs.status()

5️⃣ 验证高可用

  • 停掉 Primary
  • 自动选出新 Primary
  • 应用无感知(驱动自动切换)

三、分片集群(简版结构)

Client
  ↓
mongos (路由)
  ↓
config server (副本集)
  ↓
shard1 (副本集)
shard2 (副本集)

最少组件

  • 至少 1 个 mongos
  • 1 个 config server 副本集(3 节点)
  • 至少 1 个 shard(建议副本集)

⚠️ 分片集群 运维复杂,不建议新手直接用


四、生产建议(非常重要)

✅ 使用 副本集
✅ 开启 认证(用户名密码 / Keyfile)
✅ 数据目录使用 SSD
✅ 配置 监控(mongostat / Prometheus)
✅ 备份(mongodump / 快照)


五、快速选型建议

场景 推荐
一般业务 副本集(3 节点)
高并发读 副本集 + 读写分离
数据 > 1TB 分片集群
云环境 MongoDB Atlas

如果你愿意,我可以:

  • ✅ 给你 Docker Compose 副本集示例
  • ✅ 给你 带鉴权的集群配置
  • ✅ 按你的 服务器数量/业务规模 帮你设计方案

你现在是 测试环境还是生产环境?

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手