centos

mongodb在centos上的配置技巧

小樊
50
2025-08-30 17:40:09
栏目: 云计算

以下是MongoDB在CentOS上的配置技巧,涵盖安装、优化及安全等方面:

一、基础安装配置

  1. 配置YUM仓库
    创建/etc/yum.repos.d/mongodb-org.repo文件,添加官方源(以MongoDB 7.0为例):

    [mongodb-org-7.0]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/7.0/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://pgp.mongodb.com/server-7.0.asc
    

    执行sudo yum install -y mongodb-org安装。

  2. 创建目录并授权

    sudo mkdir -p /data/mongodb/{data,log}
    sudo chown -R mongod:mongod /data/mongodb
    

    (若使用默认路径可跳过)

  3. 修改配置文件
    编辑/etc/mongod.conf,关键参数:

    • 数据与日志路径dbPathlog.path(建议自定义路径并确保权限)。
    • 绑定IPbindIp: 0.0.0.0(允许远程访问,生产环境建议限制为具体IP)。
    • 端口:默认27017,可按需修改。
    • 存储引擎:确保使用WiredTiger(默认,性能更优)。
  4. 启动服务

    sudo systemctl start mongod
    sudo systemctl enable mongod  # 开机自启
    sudo systemctl status mongod  # 检查状态
    

二、性能优化技巧

  1. 内存配置
    /etc/mongod.conf中设置WiredTiger缓存大小(建议为服务器内存的50%-70%):

    storage:
      wiredTiger:
        engineConfig:
          cacheSizeGB: 8  # 根据服务器内存调整
    
  2. 日志与磁盘优化

    • 降低日志级别:systemLog.verbosity: 1(生产环境建议warningerror)。
    • 启用日志轮转:配置logRotaterename并设置maxSize
    • 使用SSD存储数据文件,提升I/O性能。
  3. 索引优化

    • 为高频查询字段创建索引:db.collection.createIndex({ field: 1 })
    • 复合索引优化多条件查询,避免全表扫描。

三、安全配置

  1. 启用身份验证

    • 在配置文件中添加:security.authorization: enabled
    • 创建管理员用户:
      mongo
      use admin
      db.createUser({ user: "admin", pwd: "密码", roles: ["root"] })
      
  2. 防火墙与网络

    • 开放MongoDB端口(默认27017):
      sudo firewall-cmd --add-port=27017/tcp --permanent
      sudo firewall-cmd --reload
      
    • 生产环境建议限制bindIp为具体IP,避免暴露在公网。

四、高可用与扩展

  1. 副本集配置

    • 修改配置文件启用副本集:replication.replSetName: "rs0"
    • 多节点部署时,通过rs.initiate()初始化副本集。
  2. 分片集群(大规模数据)

    • 配置分片服务器、配置服务器和路由服务器,通过sh.addShard()添加分片。

五、注意事项

参考来源:

0
看了该问题的人还看了