首页主机资讯MongoDB配置Ubuntu集群有哪些要点

MongoDB配置Ubuntu集群有哪些要点

时间2025-12-23 01:04:06发布访客分类主机资讯浏览904
导读:MongoDB 在 Ubuntu 上的集群配置要点 一、架构与规划 明确目标架构:高可用优先用副本集(Replica Set);超大规模与水平扩展采用分片集群(Sharding)。 分片集群三大组件: Shard:承载数据子集,生产环境...

MongoDB 在 Ubuntu 上的集群配置要点

一、架构与规划

  • 明确目标架构:高可用优先用副本集(Replica Set);超大规模与水平扩展采用分片集群(Sharding)
  • 分片集群三大组件:
    • Shard:承载数据子集,生产环境每个分片必须是副本集(常见为3 成员)。
    • Config Server:存储集群元数据,必须部署为3 节点副本集(CSRS)
    • mongos:查询路由器,客户端入口,可部署多个以实现负载均衡与高可用。
  • 规模建议:生产环境优先选择3 分片 × 每个分片 3 节点副本集,并部署2 个及以上 mongos

二、主机与网络

  • 使用DNS 主机名而非 IP 地址配置成员,避免 IP 变更引发维护风险;在水平分割网络或云环境中,使用主机名尤为重要。自 MongoDB 5.0 起,仅配置 IP 的节点可能无法通过启动验证。
  • 规划端口并统一命名规范,便于运维与防火墙放行,例如:
    • Config17101/17102/17103
    • Shard117201/17202/17203
    • Shard217301/17302/17303
    • mongos17401/17402
  • 系统与安全基线:
    • 关闭或放行相关端口(如 27017/17101-17103/17201-17203/17301-17303/17401-17402)的防火墙规则。
    • 节点间时间同步(如 NTP),避免因时钟漂移导致复制异常。

三、安装与目录

  • Ubuntu 20.04+ 建议使用 APT 安装 mongodb-org 官方仓库,保持多节点版本一致。
  • 目录与权限(示例):
    • 数据目录:如 /data/db1 /data/db2 /data/db3(副本集)或按分片与角色分目录(分片集群)。
    • 日志目录:如 /var/log/mongodb/,确保运行用户(如 mongodb)可写。
  • 进程管理:
    • 副本集/配置服务器使用 systemd 服务 mongod 管理。
    • 路由层使用 mongos 进程(建议同样以 systemd 管理,便于开机自启与日志轮转)。

四、安全与认证

  • 集群内部通信安全:使用 keyFile 进行成员间身份认证(所有 mongod/mongos 使用同一 keyFile)。
  • 传输加密:生产建议启用 TLS/SSL(证书分发与信任链配置需一致)。
  • 客户端访问:通过 mongos 启用认证与授权,创建管理员与应用角色,最小权限分配。

五、配置与初始化步骤

  • 副本集(单集群起步)
    • 配置要点:在 /etc/mongod.conf 中设置 replication.replSetName,并正确配置 net.bindIpnet.port;启动服务后连接任一节点执行 rs.initiate() 初始化,使用 rs.add() 添加其余成员,最后用 rs.status() 校验。
  • 分片集群(生产常用)
    • 配置要点:
      • 启动 3 节点 CSRS 配置服务器(mongod --configsvr --replSet …),初始化副本集。
      • 启动多个 分片副本集(每个分片 3 节点),分别初始化。
      • 启动 mongos,在 mongos 上通过 sh.addShard(“/host1:port1,host2:port2,…”) 添加分片。
      • 在 mongos 上为业务库启用分片:sh.enableSharding(“”),对集合执行 sh.shardCollection(“.”, { “”: 1 } );使用 sh.status() 检查分片分布与健康状态。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: MongoDB配置Ubuntu集群有哪些要点
本文地址: https://pptw.com/jishu/778011.html
MongoDB在Ubuntu上的安全认证怎么设置 Ubuntu MongoDB数据存储配置如何优化

游客 回复需填写必要信息