温馨提示×

MongoDB Linux配置文件解析

小樊
37
2025-12-02 17:26:46
栏目: 云计算

MongoDB Linux 配置文件解析

一 配置文件位置与格式

  • 常见路径:使用系统包管理器安装时,默认配置文件通常为 /etc/mongod.conf;源码或自定义安装可能在 /usr/local/etc/mongod.conf;也可通过命令行参数 –config/-f 指定任意路径。若不确定位置,可用命令查找:sudo find / -name “mongod.conf” 2>/dev/null。配置文件采用 YAML 格式,层级清晰,注意仅使用空格缩进(不要使用 Tab)。启动示例:mongod --config /etc/mongod.confmongod -f /etc/mongod.conf

二 核心配置模块速览

  • systemLog:日志输出目的地(destination: file|syslog)、日志文件路径(path)、是否追加(logAppend)、轮转策略(logRotate: rename|reopen)、时间戳格式(timeStampFormat: ctime|iso8601-utc|iso8601-local)、组件级详细级别(component)。
  • processManagement:是否后台运行(fork: true)、进程 PID 文件路径(pidFilePath)。
  • net:监听端口(port: 27017)、绑定地址(bindIp,可多值逗号分隔,或 bindIpAll: true)、最大并发连接数(maxIncomingConnections,默认 65536)、是否启用 IPv6、UNIX 域套接字等。
  • storage:数据目录(dbPath)、是否启用 journal(建议开启)、WiredTiger 缓存(wiredTiger.engineConfig.cacheSizeGB)、压缩与索引配置等。
  • replication:副本集名称(replSetName)等。
  • sharding:分片相关参数。
  • security:认证与集群认证(如 authorization: enabledkeyFileclusterAuthMode 等)。
  • setParameter:运行时参数(如 enableLocalhostAuthBypass: false)。

三 最小可用配置示例

systemLog:
  destination: file
  path: "/var/log/mongodb/mongod.log"
  logAppend: true
  logRotate: reopen
  timeStampFormat: iso8601-local

storage:
  dbPath: "/var/lib/mongodb"
  journal:
    enabled: true
  engine: "wiredTiger"
  wiredTiger:
    engineConfig:
      cacheSizeGB: 2   # 依据内存与实例角色调整

processManagement:
  fork: true
  pidFilePath: "/var/run/mongodb/mongod.pid"

net:
  port: 27017
  bindIp: 127.0.0.1,192.168.10.140
  maxIncomingConnections: 65536
  ipv6: false

security:
  authorization: enabled
  # keyFile: "/etc/mongodb/keyfile"   # 副本集/分片启用后再开启
  • 说明:上述示例启用文件日志轮转(reopen 需配合 logAppend: true)、开启 journal、使用 WiredTiger 并限制其缓存为 2GB(示例值,可按服务器内存与业务调优),仅本地与内网网段可访问,并开启用户认证。生产环境请结合资源与合规要求细化参数。

四 修改与生效及常见问题

  • 修改与生效:先备份原配置(如 sudo cp /etc/mongod.conf /etc/mongod.conf.bak),编辑后通过系统服务重启:sudo systemctl restart mongod(或 sudo service mongod restart),并检查状态:sudo systemctl status mongod。若以 fork: true 运行,可通过 cat /var/run/mongodb/mongod.pid 查看进程号。
  • 常见问题与排查:
    • 找不到配置文件:使用 find 定位;若确实缺失,可新建符合需求的 mongod.conf 并通过 –config 启动。
    • 服务无法启动:优先查看日志 /var/log/mongodb/mongod.log 中的报错行,常见原因包括目录权限不足、YAML 缩进错误、端口被占用、参数不兼容等。
    • 绑定地址与安全:仅在内网环境开放 bindIp,公网务必配合 TLS/SSL防火墙;开启 authorization 前确保已创建管理员账户,避免被锁。

0