温馨提示×

centos mongodb配置支持集群吗

小樊
40
2026-10-23 10:18:13
栏目: 云计算

CentOS 上的 MongoDB 是支持集群的,而且这通常是通过 MongoDB 自带的 副本集(Replica Set) 和 分片集群(Sharded Cluster) 来实现的,跟操作系统(CentOS)关系不大,只要 MongoDB 版本支持即可。

下面简单说明一下:


一、MongoDB 集群的两种主要方式

1️⃣ 副本集(Replica Set)—— 高可用

  • 用于 主从复制 + 自动故障转移
  • 至少 3 个节点(1 主 2 从,或 1 主 1 从 1 仲裁)
  • 适合大多数生产环境

示例:

  • node1(Primary)
  • node2(Secondary)
  • node3(Secondary / Arbiter)

✅ CentOS 上只需要正常安装 MongoDB,然后配置 replication 即可。


2️⃣ 分片集群(Sharded Cluster)—— 大数据 + 高并发

  • 用于 水平扩展
  • 包含:
    • Mongos(路由)
    • Config Server(配置服务器)
    • Shard(分片,通常是副本集)

✅ CentOS 完全支持,常用于 TB 级以上数据场景。


二、CentOS 上的基本配置示例(副本集)

1. 安装 MongoDB(CentOS 7/8 示例)

# 以 MongoDB 6.x 为例
vim /etc/yum.repos.d/mongodb-org.repo
[mongodb-org]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
yum install -y mongodb-org

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

replication:
  replSetName: "rs0"

net:
  bindIp: 0.0.0.0

3. 启动 MongoDB

systemctl start mongod
systemctl enable 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" }
  ]
})

三、CentOS 注意事项

  • 防火墙放行 27017
    firewall-cmd --add-port=27017/tcp --permanent
    firewall-cmd --reload
    
  • SELinux 可能需要调整或关闭
  • 建议使用 静态 IP 或内网 DNS
  • MongoDB 5.0+ 不再支持非常老的 CentOS

四、结论

✅ CentOS 上的 MongoDB 完全支持集群
✅ 推荐生产环境使用 副本集
✅ 数据量大、并发高时使用 分片集群

如果你愿意,我可以:

  • 帮你画一个 集群架构图
  • 给你一份 完整的分片集群配置示例
  • 根据你的服务器数量定制方案

0 踩