首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

MongoDB 學習筆記 06:mongod YAML 配置文件詳解與生產環境最佳實踐

     編輯:DB2 教學

MongoDB 學習筆記 06:mongod YAML 配置文件詳解與生產環境最佳實踐

配置文件演進

  • ≤ 2.4:鍵值對格式(key=value)
  • ≥ 2.6:YAML 格式,結構化、支持嵌套、類型安全,現代標準。

啟動方式:mongod -f /etc/mongod.conf 或 mongod --config /etc/mongod.conf

核心配置詳解

systemLog:
  destination: file
  path: "/var/log/mongodb/mongod.log"
  logAppend: true
  logRotate: rename
  verbosity: 0
  quiet: false

storage:
  dbPath: "/data/mongodb"
  directoryPerDB: true
  journal:
    enabled: true
    commitIntervalMs: 100
  wiredTiger:
    engineConfig:
      cacheSizeGB: 8
      journalCompressor: snappy
    collectionConfig:
      blockCompressor: snappy
    indexConfig:
      prefixCompression: true

processManagement:
  fork: true
  pidFilePath: "/var/run/mongodb/mongod.pid"
  timeZoneInfo: "/usr/share/zoneinfo"

net:
  port: 27017
  bindIp: "127.0.0.1,10.0.0.1"
  maxIncomingConnections: 65536
  wireObjectCheck: true
  ipv6: false

security:
  authorization: "enabled"
  keyFile: "/etc/mongodb/keyfile"
  clusterAuthMode: "keyFile"
  javascriptEnabled: false

operationProfiling:
  slowOpThresholdMs: 100
  mode: "slowOp"

replication:
  replSetName: "rs0"
  enableMajorityReadConcern: true
  oplogSizeMB: 10240

關鍵配置項解析

分類參數推薦值/說明
存儲cacheSizeGB物理內存 50-60%(預留給 OS 文件系統緩存)
存儲directoryPerDBtrue(每庫獨立目錄,便於文件系統級備份/掛載)
存儲journal.enabledtrue(生產環境強制開啟,防止掉電丟數據)
網絡bindIp內網 IP + 127.0.0.1,禁用 0.0.0.0 直連公網
網絡maxIncomingConnections65536(配合 ulimit -n,防止連接數耗盡)
安全authorizationenabled(強制認證,構建 RBAC 權限體系)
安全keyFile副本集/分片節點間內部認證,400 權限
性能slowOpThresholdMs100ms(慢查詢閾值,配合 Profiler 分析)
複製oplogSizeMB10GB+(根據寫入量預留 24-48h 窗口)

生產環境部署清單

  1. 文件權限:chown -R mongod:mongod /data/mongodb /var/log/mongodb
  2. 內核參數:vm.swappiness=1、transparent_hugepage=never、ulimit -n 64000
  3. 磁盤規劃:獨立掛載 /data/mongodb(XFS/ext4,noatime),WAL/Journal 可獨立 SSD。
  4. 監控接入:Prometheus mongodb_exporter、Datadog、OPS Manager。
  5. 備份策略:每日 mongodump + Oplog 增量,定期恢復演練。

配置驗證與熱加載

# 語法檢查
mongod --config /etc/mongod.conf --dryrun

# 運行時動態調整(部分配置)
db.adminCommand({setParameter: 1, slowOpThresholdMs: 200})
db.adminCommand({setParameter: 1, logVerbosity: 1})

規範的 YAML 配置是 MongoDB 穩定運行的基石,版本控制管理配置文件,變更走變更流程,做到有據可查、可追溯、可回滾。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved