mongodb 新旧版配置格式

#核心配置

systemLog:
  verbosity: 0 # range [0 ~ 5],类似旧版的v~vvvv。verbosity都是指日志的详细(啰嗦)程度,以下不再重复。
  quite: false #
  traceAllException: false # 记录异常
  syslogFacility: user # 系统日志登记,详见 http://blog.chinaunix.net/uid-677314-id-164215.html
  path: None # 同旧版logpath
  logAppend: false # 同旧版logappend
  logRotate: rename # ['rename', 'reopen'],rename会定时自动生成新日志,reopen是追加,需要将logAppend设置为true
  destination: syslog # ['file', 'syslog'],如果设置为file,需要同时也指定path目录。
  timeStampFormat: iso8601-local # 时间格式 ['ctime', 'iso8601-utc', 'iso8601-local'],分别表示为['Wed Dec 31 18:17:54.811', '1970-01-01T00:00:00.000Z', '1969-12-31T19:00:00.000-0500']
  component: # 这个log定制性很强
    accessControl:
      verbosity: 0 # [0 ~ 5] db访问相关日志,比如auth认证
    command:
      verbosity: 0 # [0 ~ 5] db操作命令日志,比如count,group,distinct
    control:
      verbosity: 0 # [0 ~ 5] 控制mongo本身的命令,比如db的启动和停止
    geo:
      verbosity: 0 # [0 ~ 5] 地理空间相关操作
    index:
      verbosity: 0 # [0 ~ 5] db索引相关操作
    network:
      verbosity: 0 # [0 ~ 5] 网络传输相关
    query:
      verbosity: 0 # [0 ~ 5] 查询相关
    replication:
      verbosity: 0 # [0 ~ 5] 集群复制相关,比如sync和心跳
    sharding:
      verbosity: 0 # [0 ~ 5] 分片相关
    storage:
      verbosity: 0 # [0 ~ 5] 存储相关
    journal:
      verbosity: 0 # [0 ~ 5] journal相关
    write:
      verbosity: 0 # [0 ~ 5] 写操作相关

processManagement:
  fork: false # 同旧版fork
  pidFilePath: none # 同旧版pidfilepath

net:
  port: 27017 # 同旧版port
  bindIp: 0.0.0.0 # 同旧版 bind_ip
  maxIncomingConnections: 65536 # 同旧版maxConns,最大值受系统限制
  wireObjectCheck: true # 同旧版objcheck
  ipv6: false # 同旧版ipv6
  unixDomainSocket:
    enabled: true # 启用socket监听
    pathPrefix: /tmp 同旧版unixSocketPrefix
    filePermissions: 0777 # socket文件权限
  http:
    enabled: false # 与旧版nohttpinterface相反
    JSONPEnabled: false # 同旧版jsonp
    RESTInterfaceEnabled: false # 同旧版rest

security:
  keyFile: none # 同旧版keyFile
  clusterAuthMode: keyFIle # ['keyFile', 'sendKeyFile', 'sendX509', 'x509']
  anthorization: disabled # ['enabled', 'disabled'] 启用RBAC(Role-Based Access Control)
  javascriptEnabled: true # 禁用js后不能使用$where、mapReduce等命令

storage:
  dbPath: /data/db # 同旧版dbpath
  indexBuildRetry: true # 下次启动mongo时是否重新建立索引
  repairPath: dbPath/_tmp # 同旧版repirepath
  journal:
    enabled: true # 同旧版journal
  directoryPerDB: false # 同旧版directoryperdb
  syncPeriodSecs: 60 # 同旧版syncdelay
  engine: mmapv1 # 存储引擎:['mmapv1', 'wiredTiger']
  mmapv1:
    preallocDataFiles: true # 与旧版noprealloc相反
    nsSize: 16 # 同旧版nsSize
    quota:
      enforced: false # 同旧版quota
      maxFilesPerDB: 8 # 同旧版quotaFiles 
    smallFiles: false # 同旧版smallfiles
    journal:
      debugFlags: none # 内部调试选项,一般不使用
      commitIntervalMs: 30 & 100 # 同旧版journalCommitInterval
  wiredTiger: # 以下简称WT
    engineConfig:
      cacheSizeGB: 1G # 默认1G或者系统内存的一半,WT占用的内存
      statisticsLogDelaySecs: 0 # 每隔1s记录一次WT的统计信息,0表示不记录
      journalCompressor: snappy # WT压缩journal数据的格式:['none', 'snappy', 'zlib']
      directoryForIndexes: false # true的话mongod会给每隔集合的数据和索引创建单独目录
    collectionConfig:
      blockCompressor: snappy # 集合数据的压缩方式,选项同WT的journal数据
    indexConfig:
      prefixCompression: true # 在WT的索引和集合数据文件名前加前缀
      
operationProfiling:
  slowOpThresholdMs: 100 # 单位毫秒,同slowms
  mode: off # ['off', 'slowOp', 'all'] 分别表示'不记录'、'记录慢日志'、'所有日志'

replication:
  oplogSizeMB: none # 同旧版oplogSize
  replSetName: none # 同旧版replSet
  secondaryIndexPrefetch: all # 同旧版replIndexPrefetch
  localPingThresholdMs: 15 # 单位毫秒,可以影响member selection过程

sharding:
  clusterRole: configsvr # ['configsvr', 'shardsvr'] 同旧版configsvr和shardsvr选项
  archiveMovedChunks: true # 在mongo的chunk移动过程中,该选项强制把所有实例保存的文档移动到moveChunk目录
  autoSplit: true # 与旧版noAutoSplit相反
  configDB: none # 同旧版configdb
  chunkSize: 64 # 同旧版chunkSize

snmp:
  subagent: none
  master: none # 这两个选项都需要要去看看这个文档:http://docs.mongodb.org/manual/tutorial/monitor-with-snmp/

#下边这个看看就行了,windows系统相关的配置
processManagement:
  windowsService:
    serviceName: MongoDB
    displayName: MongoDB
    description: MongoDB Server
    serviceUser: none # 指定一个用户
    servicePassword: none # 指定的用户的密码


# setParameter 同旧版setParameter

  

 

# 格式:
#   <setting> = <value>
# 以下等号右边皆为默认值

# 基本配置
dbpath = /data/db # 指定数据文件存放路径
directoryperdb = false # 每个db将被保存在一个单独的目录
journal = true # mongo的数据库操作写在journal文件里,确保数据的一致性和写操作的稳固性。这一项在32位的操作系统默认为false
nojournal = fasle # 这一项在32位的操作系统默认为true
journalCommitInterval = 100 & 30 # mongo两次写journal的时间间隔,单位毫秒。间隔越小,稳固性越高,也越耗io资源。
quota = false # 限定每个db的文件数,默认为8。如果此项设置为true,能用quoteFiles来修改这个数字。
quotaFiles = 8 # 如上
syncdelay = 60 # 单位秒。每60秒把内存中的数据写入磁盘,大多数情况下不建议修改。

logpath = None # 指定日志文件,注意,不是目录,是文件,比如 /var/logs/mongo.log。如果不指定mongo会把日志输出到屏幕上。
logappend = false # true:每次重启mongo时会在日志文件末尾追加,false:每次重启会覆盖日志文件
pidfilepath = None # 指定pid文件路径,如果不指定,将不会创建pid文件
diaglog = 0 # 记录诊断信息:0-禁用,1-记录写操作, 2-记录读操作,3-记录读写操作,7-记录写和一部分读操作
profile = 0 # 记录db操作,0-不记录,1-慢操作,2-所有操作
slowms = 100 # 单位为毫秒,将执行超过这个时间的操作记为慢操作

verbose = false # 记录调试信息
vvvv = false # 调试信息的详细程度,有v~vvvv四个等级,vvvv最详细
quiet = false # 只记录错误信息,相当于error_log,使用此项时应该注释掉verbose

port = 27017 # 端口,默认27017
bind_ip = 0.0.0.0 # 绑定ip,默认0.0.0.0
ipv6 = false # 支持ipv6
fork = false # 后台运行mongo
auth = false # 启用账户认证
noauth = true # 禁用账户认证
jsonp = false # 允许jsonp形式通过http访问mongo
nohttpinterface = false # 关闭http接口
keyFile = None # 集群的私钥完整路径,在副本集(replica set)中使用到
nounixsocket = false # 禁用socket监听
unixSocketPrefix = /tmp # unix socket 文件路径
noprealloc = false # 禁用数据文件预分配,能缩短启动时间,但是会影响性能
noscripting = false # 禁用脚本引擎
notablescan = false # 不允许扫表的操作
rest = false # 启用简单的rest API

nsSize = 16 # 数据库ns文件大小,单位MB,最大值2047
maxConns = 20000 # 最大连接数,不超过20000,默认值不固定,跟当前系统的ulimit和file-descriptor有关
cpu = false # 每4s记录一次CPU的利用率和iowait
smallfiles = false # mongo一开始会初始化比较大的journal文件,在磁盘不大的虚拟机中往往会报错,配置这一项可以解决。生成环境不要使用。

objcheck = true # 检查接收到的数据的有效性
noobjcheck = false # 禁用objcheck

repire = false # 修复所有db。这一项只能在需要的时候在命令行使用,非常不建议在配置文件中打开。
repirepath = dbpath/_tmp # 修复数据库文件使用的临时目录,默认是dbpath下的_tmp
sysinfo = false # 打印当前系统信息,开启此项后,mongo仅打印信息,不开启数据读写进程。
upgrade = false # mongo的bin文件升级之后,使用此项来升级db文件。


# 副本集选项 (Replica Sets)
replSet = none # 副本集名称,副本集所有节点都使用同一个名称
oplogSize = none # 单位是MB。mongo的副本集是采用oplog来记录写操作。默认情况下,64位机器的oplog占磁盘的5%。
fastsync = false # 以主节点的数据快照为基础来启动从节点。如果数据目录一开始就是主节点 的数据快照,从节点用这个选项启动要比做完整同步快很多。
replIndexPrefetch = all # [all, none, _id_only] 默认情况下,从节点会加载所有索引进入内存,使用_id_only可以让mongo只加载_id索引。

# 主从复制
master = false # 将当前机器定义为主库
slave = false # 将当前机器定义为从库
source = none # 从库配置,指向主库ip和端口,如:10.1.1.1:27017
only = none # 从库配置,只复制指定数据库,参数为数据库名称。
salvedelay = 0 # 从库配置,单位是秒,同步主库的延迟时间。
autoresync = false # 从库配置,如果从库比主库的数据晚10s,强制同步。由于操作比较耗时,如果不设置此项,mongo默认10分钟内最多进行一次copy操作。

# 分片集群
configsvr = false # 声明这是一个集群的config服务,默认端口27019,默认目录dbpath/configdb
shardsvr = false # 声明这是一个集群的分片,默认端口27018
configdb = none # 指定配置服务器ip:port
test = false # 内部测试用,不启动mongos实例
chunkSize = 64 # 单位MB,在一个分片机器上的数据超过这个限制之后,就会向下一个机器写数据(分隔)。
localThreshold
noAutoSplit # 禁止创建新的chunk,需要配置在所有的mongos机器上
moveParanoia


# 设置参数
# 格式:
# setParameter = <parameter>=<value> ,针对mongod和mongos有不同的选项,具体看这里:http://docs.mongodb.org/v2.4/reference/configuration-options/#setParameter

  

posted on 2015-12-24 17:16  zhangjmy  阅读(678)  评论(0)    收藏  举报

导航