MongoDB 3.0.x 配置文件模板

如果在/usr/local/mongodb/下进行建设,关于配置的设置

1. 目录结构

请下载二进制文件并将其随意放置。

# mkdir -p /usr/local/mongodb/conf
# mkdir -p /usr/local/mongodb/logs
# mkdir -p /usr/local/mongodb/tmp
# ln -s <path to data path> /usr/local/mongodb/data
# ln -s <path to bin path> /usr/local/mongodb/bin

2. 制作密钥文件

自从MongoDB3版本以后,安全方面变得更加严格,要加入复制集(replica-set)时需要使用keyfile进行身份验证。对于独立模式(StandAlone),则不需要。

openssl rand -base64 741 > /usr/local/mongodb/conf/mongod.key

设定文件模板

以下的两点是必须要进行彻底设置的。

storage.wiredTiger.engineConfig.cacheSizeGB: 100 的中文翻译:存储.wiredTiger.engineConfig.cacheSizeGB: 100

在当前情况下,建立索引、游标处理和内存泄漏都会消耗大约80%的主存,所以最好进行调整。

复制.oplog大小:102400MB

这取决于用途。。

processManagement:
  fork: true
  pidFilePath: /usr/local/mongodb/logs/mongod.pid

net:
  port: 27017
  maxIncomingConnections: 1000000
  unixDomainSocket:
    enabled: true
    pathPrefix: /usr/local/mongodb/tmp/
  http:
    enabled: false
    JSONPEnabled: false
    RESTInterfaceEnabled: false

security:
  authorization: enabled
  javascriptEnabled: true
  keyFile: /usr/local/mongodb/conf/mongod.key

operationProfiling:
  slowOpThresholdMs: 1000
  mode: slowOp

storage:
  engine: wiredTiger
  dbPath: /usr/local/mongodb/data
  directoryPerDB: true
  indexBuildRetry: true
  syncPeriodSecs: 60
  wiredTiger:
    engineConfig:
      cacheSizeGB: 100
      statisticsLogDelaySecs: 0
      journalCompressor: snappy
      directoryForIndexes: true
    collectionConfig:
      blockCompressor: snappy
    indexConfig:
      prefixCompression: true
  journal:
    enabled: true

replication:
  oplogSizeMB: 102400
  replSetName: MyRS
  secondaryIndexPrefetch: all