• MongoDB3.2配置文件.md


    Core Options

    systemLog Options

    systemLog:
       verbosity: <int>
       quiet: <boolean>
       traceAllExceptions: <boolean>
       syslogFacility: <string>
       path: <string>
       logAppend: <boolean>
       logRotate: <string>
       destination: <string>
       timeStampFormat: <string>
       component:
          accessControl:
             verbosity: <int>
          command:
             verbosity: <int>
    

    systemLog.verbosity

    Type: integer
    Default: 0
    Changed in version 3.0.

    组件的默认日志消息详细程度级别。详细程度级别决定了MongoDB输出的信息和Debug消息量。
    详细级别可以在0到5之间:

    • 0是MongoDB的默认日志详细级别,以包括信息性消息。
    • 1到5增加了详细级别以包括Debug消息。

    systemLog.quiet

    Type: boolean

    运行mongos或mongod在一个安静的模式,试图限制输出量。
    systemLog.quiet不推荐用于生产系统,因为它可能会使特定连接中的跟踪问题变得更加困难。

    systemLog.traceAllExceptions

    Type: boolean

    打印详细信息进行调试。 用于支持相关故障排除的其他日志记录。

    systemLog.syslogFacility

    Type: string
    Default: user

    将消息记录到syslog时使用的设备级别。 您指定的值必须由操作系统的syslog实现支持。 要使用此选项,必须启用--syslog选项。

    systemLog.path

    Type: string

    mongod或mongos应发送所有诊断日志信息的日志文件的路径,而不是标准输出或主机的syslog。 MongoDB在指定的路径上创建日志文件。
    Linux程序包init脚本不希望systemLog.path从默认值更改。 如果使用Linux软件包并更改systemLog.path,则必须使用自己的init脚本并禁用内置脚本。

    systemLog.logAppend

    Type: boolean
    Default: False

    当为真时,当mongos或mongod实例重新启动时,mongos或mongod会将新条目追加到现有日志文件的末尾。 没有此选项,mongod将备份现有日志并创建一个新文件。

    systemLog.logRotate

    Type: string
    Default: rename
    New in version 3.0.0.

    logRotate命令的行为。 指定重命名或重新打开:

    • 重命名重命名日志文件。
    • 重新打开关闭并按照典型的Linux/Unix日志旋转行为重新打开日志文件。 使用Linux/Unix logrotate实用程序时,请重新打开以避免日志丢失。
      如果指定重新打开,还必须将systemLog.logAppend设置为true。

    systemLog.destination

    Type: string

    MongoDB发送所有日志输出的目的地。 指定文件或syslog。 如果指定文件,还必须指定systemLog.path。
    如果不指定systemLog.destination,MongoDB会将所有日志输出发送到标准输出。

    systemLog.timeStampFormat

    Type: string
    Default: iso8601-local

    日志消息中时间戳的时间格式。 指定以下值之一:

    Value Description
    ctime 显示时间戳为Wed Dec 31 18:17:54.811。
    iso8601-utc 以ISO-8601格式显示协调世界时(UTC)的时间戳。 例如,在时代开始的纽约:1970-01-01T00:00:00.000Z
    iso8601-local 以ISO-8601格式显示本地时间的时间戳。 例如,对于纽约在时代的开始:1969-12-31T19:00:00.000-0500

    systemLog.component Options

    systemLog:
       component:
          accessControl:
             verbosity: <int>
          command:
             verbosity: <int>
    ......
          storage:
             verbosity: <int>
             journal:
                verbosity: <int>
          write:
             verbosity: <int>
    

    systemLog.component.accessControl.verbosity

    Type: integer
    Default: 0
    New in version 3.0.

    与访问控制相关的组件的日志消息详细程度级别。 请参阅ACCESS组件。

    systemLog.component.command.verbosity

    Type: integer
    Default: 0
    New in version 3.0.

    与命令相关的组件的日志消息详细程度级别。 请参见COMMAND组件。

    systemLog.component.control.verbosity

    Type: integer
    Default: 0
    New in version 3.0.

    与控制操作有关的组件的日志消息详细程度级别。 请参阅控制组件。

    systemLog.component.ftdc.verbosity

    Type: integer
    Default: 0
    New in version 3.2.

    与诊断数据收集操作相关的组件的日志消息详细程度级别。 请参阅FTDC组件。

    systemLog.component.geo.verbosity

    Type: integer
    Default: 0
    New in version 3.0.

    与地理空间解析操作相关的组件的日志消息详细级别。 见GEO组件。

    systemLog.component.index.verbosity

    Type: integer
    Default: 0
    New in version 3.0.

    与索引操作相关的组件的日志消息详细级别。 请参阅INDEX组件。

    systemLog.component.network.verbosity

    Type: integer
    Default: 0
    New in version 3.0.

    与网络操作有关的组件的日志消息详细级别。 请参阅NETWORK组件。

    systemLog.component.query.verbosity

    Type: integer
    Default: 0
    New in version 3.0.

    与查询操作相关的组件的日志消息详细级别。 查看QUERY组件。

    systemLog.component.replication.verbosity

    Type: integer
    Default: 0
    New in version 3.0.

    与复制相关的组件的日志消息详细程度级别。 请参阅REPL组件。

    systemLog.component.sharding.verbosity

    Type: integer
    Default: 0
    New in version 3.0.

    与分片相关的组件的日志消息详细程度级别。 请参阅SHARDING组件。

    systemLog.component.storage.verbosity

    Type: integer
    Default: 0
    New in version 3.0.

    与存储相关的组件的日志消息详细程度级别。 请参阅STORAGE组件。
    如果systemLog.component.storage.journal.verbosity未设置,则systemLog.component.storage.verbosity级别也适用于日志组件。

    systemLog.component.storage.journal.verbosity

    Type: integer
    Default: 0
    New in version 3.0.

    与日志相关的组件的日志消息详细程度级别。 请参阅JOURNAL组件。
    如果systemLog.component.storage.journal.verbosity未设置,日志组件具有与父存储组件相同的详细级别:即如果设置为systemLog.component.storage.verbosity级别或默认详细程度级别。

    systemLog.component.write.verbosity

    Type: integer
    Default: 0
    New in version 3.0.

    与写入操作相关的组件的日志消息详细程度级别。 请参阅WRITE组件。

    processManagement Options

    processManagement:
       fork: <boolean>
       pidFilePath: <string>
    

    processManagement.fork

    Type: boolean
    Default: False

    启用在后台运行mongos或mongod进程的守护程序模式。 默认情况下,mongos或mongod不作为守护进程运行:通常,您将通过使用processManagement.fork或使用处理守护进程的控制进程(例如与upstart和systemd一样)来运行mongos或mongod作为守护程序。
    Linux包初始化脚本不希望processManagement.fork从默认值更改。 如果使用Linux软件包并更改processManagement.fork,则必须使用自己的init脚本并禁用内置脚本。

    processManagement.pidFilePath

    Type: string

    指定一个文件位置来保存mongos或mongod进程的进程ID,其中mongos或mongod将会写入其PID。 这可以与--fork选项一起跟踪mongos或mongod进程。 没有指定的processManagement.pidFilePath选项,该进程将不创建PID文件。

    net Options

    net:
       port: <int>
       bindIp: <string>
       maxIncomingConnections: <int>
       wireObjectCheck: <boolean>
       ipv6: <boolean>
       unixDomainSocket:
          enabled: <boolean>
          pathPrefix: <string>
          filePermissions: <int>
       http:
          enabled: <boolean>
          JSONPEnabled: <boolean>
          RESTInterfaceEnabled: <boolean>
       ssl:
          sslOnNormalPorts: <boolean>  # deprecated since 2.6
          mode: <string>
          PEMKeyFile: <string>
          PEMKeyPassword: <string>
          clusterFile: <string>
          clusterPassword: <string>
          CAFile: <string>
          CRLFile: <string>
          allowConnectionsWithoutCertificates: <boolean>
          allowInvalidCertificates: <boolean>
          allowInvalidHostnames: <boolean>
          disabledProtocols: <string>
          FIPSMode: <boolean>
    

    net.port

    Type: integer
    Default: 27017

    MongoDB实例侦听客户端连接的TCP端口。

    net.bindIp

    Type: string
    Default: All interfaces.

    为了监听来自应用程序的连接,mongos或mongod绑定的IP地址。 您可以将mongos或mongod附加到任何界面。 将mongos或mongod附加到可公开访问的界面时,请确保已实施正确的身份验证和防火墙限制,以保护数据库的完整性。
    要绑定到多个IP地址,请输入逗号分隔值的列表。

    net.maxIncomingConnections

    Type: integer
    Default: 65536

    mongos或mongod将接受的最大同时连接数。 如果高于操作系统配置的最大连接跟踪阈值,此设置将不起作用。
    不要为此选项分配太低的值,否则在正常应用程序操作期间将遇到错误。
    如果您有一个客户端创建多个连接并允许它们超时而不是关闭它们,这对于mongos特别有用。
    在这种情况下,请将maxIncomingConnections设置为稍高于客户端创建的最大连接数或者连接池的最大大小的值。
    此设置可防止mongos在各个碎片上引起连接尖峰。 像这样的尖峰可能会破坏分片集群的操作和内存分配。

    net.wireObjectCheck

    Type: boolean
    Default: True

    如果真的,mongod或mongos实例在接收时验证客户端的所有请求,以防止客户端将错误或无效的BSON插入到MongoDB数据库中。
    对于具有高度子文档嵌套的对象,net.wireObjectCheck对性能影响很小。

    net.ipv6

    Type: boolean
    Default: False
    Removed in version 3.0.

    启用或禁用IPv6支持,并允许mongos或mongod使用IPv6网络连接到MongoDB实例。 在MongoDB 3.0之前,您必须指定net.ipv6才能使用IPv6。 在MongoDB 3.0及更高版本中,始终启用IPv6。

    net.unixDomainSocket Options

    net:
       unixDomainSocket:
          enabled: <boolean>
          pathPrefix: <string>
          filePermissions: <int>
    

    net.unixDomainSocket.enabled

    Type: boolean
    Default: True

    启用或禁用在UNIX域套接字上侦听。 net.unixDomainSocket.enabled仅适用于基于Unix的系统。

    net.unixDomainSocket.pathPrefix

    Type: string
    Default: /tmp

    UNIX套接字的路径。 net.unixDomainSocket.pathPrefix仅适用于基于Unix的系统。

    net.unixDomainSocket.filePermissions

    Type: int
    Default: 0700

    设置UNIX域套接字文件的权限。
    net.unixDomainSocket.filePermissions仅适用于基于Unix的系统。

    net.http Options

    net:
       http:
          enabled: <boolean>
          JSONPEnabled: <boolean>
          RESTInterfaceEnabled: <boolean>
    

    net.http.enabled

    Type: boolean
    Default: False
    Deprecated since version 3.2: HTTP interface for MongoDB

    启用或禁用HTTP接口。
    保留HTTP接口禁用生产部署。 如果您启用此界面,则只应允许受信任的客户端访问此端口。 请参阅防火墙。

    net.http.JSONPEnabled

    Type: boolean
    Default: False

    通过HTTP接口启用或禁用JSONP访问。net.http.JSONPEnabled选项启用HTTP接口,即使禁用了HTTP接口选项。
    自3.2版本以来已弃用:MongoDB的HTTP接口
    net.http.JSONPEnabled设置仅适用于mongod。

    net.http.RESTInterfaceEnabled

    Type: boolean
    Default: False

    启用或禁用简单的REST API。 即使禁用了HTTP接口选项,启用REST API也可以启用HTTP接口,从而可以增加网络暴露。
    自3.2版本以来已弃用:MongoDB的HTTP接口
    net.http.RESTInterfaceEnabled设置仅适用于mongod。

    net.ssl Options

    net:
       ssl:
          sslOnNormalPorts: <boolean>  # deprecated since 2.6
          mode: <string>
          PEMKeyFile: <string>
          PEMKeyPassword: <string>
          clusterFile: <string>
          clusterPassword: <string>
          CAFile: <string>
          CRLFile: <string>
          allowConnectionsWithoutCertificates: <boolean>
          allowInvalidCertificates: <boolean>
          allowInvalidHostnames: <boolean>
          disabledProtocols: <string>
          FIPSMode: <boolean>
    

    https://docs.mongodb.com/v3.2/reference/configuration-options/

    security Options

    security:
       keyFile: <string>
       clusterAuthMode: <string>
       authorization: <string>
       javascriptEnabled:  <boolean>
       sasl:
          hostName: <string>
          serviceName: <string>
          saslauthdSocketPath: <string>
       enableEncryption: <boolean>
       encryptionCipherMode: <string>
       encryptionKeyFile: <string>
       kmip:
          keyIdentifier: <string>
          rotateMasterKey: <boolean>
          serverName: <string>
          port: <string>
          clientCertificateFile: <string>
          clientCertificatePassword: <string>
          serverCAFile: <string>
    

    security.keyFile

    Type: string

    密钥文件的路径,用于存储MongoDB实例用于在分片集群或副本集中彼此进行身份验证的共享密钥。 keyFile意味着security.authorization.

    security.clusterAuthMode

    Type: string
    Default: keyFile
    New in version 2.6.
    

    用于集群认证的认证模式。 如果使用内部x.509身份验证,请在此指定。 此选项可以具有以下值之一:

    Value Description
    keyFile 使用密钥文件进行身份验证。 只接受密钥文件。
    sendKeyFile 为滚动升级目的。 发送密钥文件进行身份验证,但可以接受密钥文件和x.509证书。
    sendX509 为滚动升级目的。 发送x.509证书以进行身份验证,但可以接受密钥文件和x.509证书。
    x509 推荐的。 发送x.509证书以进行身份验证,并仅接受x.509证书。

    security.authorization

    Type: string
    Default: disabled

    启用或禁用基于角色的访问控制(RBAC)来管理每个用户对数据库资源和操作的访问。
    将此选项设置为以下之一:

    value Description
    enabled 用户只能访问已被授予权限的数据库资源和操作。
    disabled 用户可以访问任何数据库并执行任何操作。

    security.authorization设置仅适用于mongod。

    security.javascriptEnabled

    Type: boolean
    Default: True
    

    启用或禁用服务器端JavaScript执行。 禁用时,不能使用执行JavaScript代码的服务器端执行操作,例如$where查询运算符,mapReduce命令和db.collection.mapReduce()方法,组命令和db.collection.group()方法。

    security.sasl Options

    security:
       sasl:
          hostName: <string>
          serviceName: <string>
          saslauthdSocketPath: <string>
    

    security.sasl.hostName

    Type: string

    用于配置SASL和Kerberos身份验证的完全限定的服务器域名。 SASL主机名仅覆盖用于SASL和Kerberos配置的主机名。
    对于mongo shell和其他MongoDB工具连接到新的hostName,请参阅mongo shell中的gssapiHostName选项等工具。

    security.sasl.saslauthdSocketPath

    Type: string

    saslauthd的UNIX域套接字文件的路径。

    setParameter Option

    设置MongoDB服务器参数中描述的MongoDB参数或参数
    要在YAML配置文件中设置参数,请使用以下格式:

    setParameter:
       <parameter1>: <value1>
       <parameter2>: <value2>
    

    例如,要在配置文件中指定enableLocalhostAuthBypass:

    setParameter:
       enableLocalhostAuthBypass: false
    

    storage Options

    storage:
       dbPath: <string>
       indexBuildRetry: <boolean>
       repairPath: <string>
       journal:
          enabled: <boolean>
          commitIntervalMs: <num>
       directoryPerDB: <boolean>
       syncPeriodSecs: <int>
       engine: <string>
       mmapv1:
          preallocDataFiles: <boolean>
          nsSize: <int>
          quota:
             enforced: <boolean>
             maxFilesPerDB: <int>
          smallFiles: <boolean>
          journal:
             debugFlags: <int>
             commitIntervalMs: <num>
       wiredTiger:
          engineConfig:
             cacheSizeGB: <number>
             journalCompressor: <string>
             directoryForIndexes: <boolean>
          collectionConfig:
             blockCompressor: <string>
          indexConfig:
             prefixCompression: <boolean>
       inMemory:
          engineConfig:
             inMemorySizeGB: <number>
    

    storage.dbPath

    Type: string
    Default: /data/db on Linux and OS X, datadb on Windows

    mongod实例存储其数据的目录。
    如果您使用软件包管理系统安装MongoDB,请检查软件包提供的/etc/mongod.conf文件,以查看指定的目录。
    storage.dbPath设置仅适用于mongod。
    Linux包初始化脚本不希望storage.dbPath从默认值更改。 如果使用Linux软件包并更改storage.dbPath,则必须使用自己的init脚本并禁用内置脚本。

    storage.indexBuildRetry

    Type: boolean
    Default: True

    指定mongod是否在下次启动时重建不完整的索引。 这种情况适用于在索引生成中间关闭或停止后mongod重新启动的情况。 在这种情况下,mongod总是删除任何不完整的索引,然后,默认情况下,尝试重建它们。 要阻止mongod重建索引,请将此选项设置为false。
    storage.indexBuildRetry设置仅适用于mongod。
    不适用于使用内存存储引擎的mongod实例。

    storage.repairPath

    Type: string
    Default: A _tmp_repairDatabase_<num> directory under the dbPath.

    MongoDB在--repair操作期间将使用的工作目录。 当--repair完成时,storage.repairPath目录为空,dbPath包含已修复的文件。
    storage.repairPath设置仅适用于mongod。
    仅适用于使用MMAPv1存储引擎的mongod实例。

    storage.journal.enabled

    Type: boolean
    Default: true on 64-bit systems, false on 32-bit systems

    启用或禁用durability journal以确保数据文件保持有效和可恢复。 此选项仅适用于指定--dbpath选项时。 默认情况下,mongod可以在2.0之后的64位版本上进行日志记录。
    storage.journal.enabled设置仅适用于mongod。
    不适用于使用内存存储引擎的mongod实例。

    storage.journal.commitIntervalMs

    Type: number
    Default: 100 or 30
    New in version 3.2.

    mongod进程在日志操作之间允许的最大时间(毫秒)。 值可以在1到500毫秒的范围内。 较低的值增加了日志的耐久性,牺牲了磁盘性能。 默认日志提交间隔为100毫秒。
    在MMAPv1上,如果日志位于与数据文件不同的块设备(例如物理卷,RAID设备或LVM卷)上,则默认日志提交间隔为30毫秒。 另外,在MMAPv1上,当j:true的写入操作挂起时,mongod将会将commitIntervalMs减少到设置值的三分之一。
    在WiredTiger上,默认日志提交间隔为100毫秒。 此外,使用j:true写入将导致日志的即时同步。
    storage.journal.commitIntervalMs设置仅适用于mongod。
    不适用于使用内存存储引擎的mongod实例。

    storage.directoryPerDB

    Type: boolean
    Default: False

    当为true时,MongoDB使用单独的目录来存储每个数据库的数据。 目录位于storage.dbPath目录下,每个子目录名称对应于数据库名称。
    在版本3.0中更改:要更改现有部署的storage.directoryPerDB选项,必须使用新的storage.directoryPerDB值和新的数据目录(storage.dbPath值)重新启动mongod实例,然后重新填充数据。

    • 对于独立实例,可以在现有实例上使用mongodump,停止实例,重新启动新的storage.directoryPerDB值和新的数据目录,并使用mongorestore填充新的数据目录。
    • 对于副本集,您可以通过停止辅助成员以滚动方式进行更新,使用新的storage.directoryPerDB值和新的数据目录重新启动,并使用初始同步来填充新的数据目录。 要更新所有成员,请先从secondary开始。 然后降低主要功能,并更新降级成员。

    storage.directoryPerDB设置仅适用于mongod。
    不适用于使用内存存储引擎的mongod实例。

    storage.syncPeriodSecs

    Type: number
    Default: 60

    MongoDB通过fsync操作将数据刷新到数据文件之前可以传递的时间量。
    不要在生产系统上设置此值。 在几乎每种情况下,您应该使用默认设置。
    如果将storage.syncPeriodSecs设置为0,MongoDB将不会将内存映射文件同步到磁盘。
    mongod进程将数据快速写入日志,并且懒惰地将数据写入数据文件。 storage.syncPeriodSecs对日志文件或日志记录没有影响。
    serverStatus命令通过backgroundFlush字段报告后台flush线程的状态。
    storage.syncPeriodSecs设置仅适用于mongod。
    不适用于使用内存存储引擎的mongod实例。

    storage.engine

    Default: wiredTiger
    New in version 3.0.
    Changed in version 3.2: Starting in MongoDB 3.2, wiredTiger is the default.

    mongodb数据库的存储引擎。 可用值包括:

    value Description
    mmapv1 详细参考
    wiredTiger 详细参考
    inMemory 详细参考

    如果您尝试启动一个包含storage.dbPath的mongodb,其中包含由storage.engine指定的存储引擎以外的存储引擎生成的数据文件,mongod将拒绝启动。

    storage.mmapv1 Options

    storage:
       mmapv1:
          preallocDataFiles: <boolean>
          nsSize: <int>
          quota:
             enforced: <boolean>
             maxFilesPerDB: <int>
          smallFiles: <boolean>
          journal:
             debugFlags: <int>
             commitIntervalMs: <num>
    

    storage.mmapv1.preallocDataFiles

    Type: boolean
    Default: True

    启用或禁用预分配数据文件。 默认情况下,MongoDB不会预分配数据文件。
    storage.mmapv1.preallocDataFiles设置仅适用于mongod。

    storage.mmapv1.nsSize

    Type: integer
    Default: 16

    命名空间文件的默认大小,它们是以.ns结尾的文件。 每个集合和索引都作为一个命名空间。
    使用此设置来控制新创建的命名空间文件的大小。 此选项对现有文件没有影响。 命名空间文件的最大大小为2047兆字节。 默认值为16兆字节提供约24,000个命名空间。
    storage.mmapv1.nsSize设置仅适用于mongod。

    storage.mmapv1.quota.enforced

    Type: Boolean
    Default: false

    启用或禁用每个数据库可以拥有的数字数据文件的最大限制。 当使用storage.mmapv1.quota.enforced选项运行时,MongoDB每个数据库最多有8个数据文件。 使用storage.quota.maxFilesPerDB调整配额。
    storage.mmapv1.quota.enforced设置仅适用于mongod。

    storage.mmapv1.quota.maxFilesPerDB

    Type: integer
    Default: 8

    每个数据库的数据文件数量的限制。 storage.mmapv1.quota.maxFilesPerDB选项要求您设置storage.quota.enforced。
    storage.mmapv1.quota.maxFilesPerDB设置仅适用于mongod。

    storage.mmapv1.smallFiles

    Type: boolean
    Default: False

    当为true时,MongoDB使用较小的默认文件大小。 storage.mmapv1.smallFiles选项可以减少数据文件的初始大小,并将最大大小限制为512 MB。 storage.mmapv1.smallFiles还将每个日志文件的大小从1千兆字节减少到128兆字节。 如果您拥有大量数据库,每个数据库都保存少量数据,请使用storage.mmapv1.smallFiles。
    storage.mmapv1.smallFiles选项可以导致mongod实例创建大量文件,这可能会影响较大数据库的性能。
    storage.mmapv1.smallFiles设置仅适用于mongod。

    storage.mmapv1.journal.debugFlags

    Type: integer

    提供测试功能。 在一般使用情况下,系统关机异常会影响数据文件的完整性。
    storage.mmapv1.journal.debugFlags选项仅适用于mongod。

    storage.mmapv1.journal.commitIntervalMs

    Type: number

    自3.2版本以来已弃用:MongoDB 3.2不推荐使用storage.mmapv1.journal.commitIntervalMs设置。 改用storage.journal.commitIntervalMs。
    不建议使用的设置作为新的storage.journal.commitIntervalMS设置的别名,并适用于MMAPv1或WiredTiger存储引擎。

    storage.wiredTiger Options

    storage:
       wiredTiger:
          engineConfig:
             cacheSizeGB: <number>
             journalCompressor: <string>
             directoryForIndexes: <boolean>
          collectionConfig:
             blockCompressor: <string>
          indexConfig:
             prefixCompression: <boolean>
    

    storage.wiredTiger.engineConfig.cacheSizeGB

    版本3.0新功能
    WiredTiger将用于所有数据的内部缓存的最大大小。
    使用WiredTiger,MongoDB使用WiredTiger内部缓存和文件系统缓存。
    版本3.2中更改:从MongoDB 3.2开始,WiredTiger内部缓存默认情况下将使用较大的:

    • 60% of RAM minus 1 GB, or
    • 1 GB.

    对于最多10 GB RAM的系统,新的默认设置小于或等于3.0默认设置(对于MongoDB 3.0,WiredTiger内部缓存使用1 GB或一半的已安装物理RAM,以较大者为准)。
    对于超过10 GB RAM的系统,新的默认设置大于3.0设置。
    通过文件系统缓存,MongoDB自动使用WiredTiger缓存或其他进程未使用的所有可用内存。 文件系统缓存中的数据被压缩。
    避免将WiredTiger内部缓存大小增加到其默认值以上。
    默认的WiredTiger内部缓存大小值假设每台机器有一个mongod实例。 如果单个机器包含多个MongoDB实例,那么您应该减少设置以适应其他mongod实例。
    如果您在无法访问系统中可用的所有RAM的容器(例如lxc,cgroups,Docker等)中运行mongod,则必须将storage.wiredTiger.engineConfig.cacheSizeGB设置为小于该值的值 的容器中可用的RAM。 确切的数量取决于容器中运行的其他进程。

    storage.wiredTiger.engineConfig.journalCompressor

    Default: snappy
    New in version 3.0.0.

    用于压缩WiredTiger日志数据的压缩类型。

    可用的压缩机有:

    • none
    • snappy
    • zlib

    storage.wiredTiger.engineConfig.directoryForIndexes

    Type: boolean
    Default: false
    New in version 3.0.0.

    当storage.wiredTiger.engineConfig.directoryForIndexes为true时,mongod将索引和集合存储在数据(即storage.dbPath)目录下的单独子目录中。 具体来说,mongod将索引存储在名为index的子目录中,并将集合数据存储在名为collection的子目录中。
    通过使用符号链接,您可以为索引指定不同的位置。 具体来说,当mongod实例没有运行时,将index子目录移动到目的地,并在数据目录下创建一个名为index的符号链接到新目标。

    storage.wiredTiger.collectionConfig.blockCompressor

    Default: snappy
    New in version 3.0.0.

    用于压缩收集数据的默认压缩类型。 创建集合时,您可以在每个集合的基础上覆盖此。
    可用的压缩机有:

    • none
    • snappy
    • zlib

    storage.wiredTiger.collectionConfig.blockCompressor会影响创建的所有集合。 如果在现有MongoDB部署上更改storage.wiredTiger.collectionConfig.blockCompressor的值,则所有新集合将使用指定的压缩器。 现有集合将继续使用创建时指定的压缩器,或当时的默认压缩器。

    storage.wiredTiger.indexConfig.prefixCompression

    Default: true
    New in version 3.0.0.

    启用或禁用索引数据的前缀压缩。
    为storage.wiredTiger.indexConfig.prefixCompression指定true,以对索引数据启用前缀压缩,或将false禁用为索引数据的前缀压缩。
    storage.wiredTiger.indexConfig.prefixCompression设置影响所有创建的索引。 如果在现有MongoDB部署中更改storage.wiredTiger.indexConfig.prefixCompression的值,则所有新索引将使用前缀压缩。 现有的索引不受影响。

    operationProfiling Options

    operationProfiling:
       slowOpThresholdMs: <int>
       mode: <string>
    

    operationProfiling.slowOpThresholdMs

    Type: integer
    Default: 100

    数据库分析器认为查询缓慢的以毫秒为单位的阈值。 MongoDB将所有缓慢的查询记录到日志中,即使数据库分析器关闭。 当分析器打开时,它会写入system.profile集合。 有关数据库分析器的更多信息,请参阅profile命令。
    operationProfiling.slowOpThresholdMs设置仅适用于mongod。

    operationProfiling.mode

    Type: string
    Default: off

    数据库分析的级别,它将有关操作性能的信息插入到system.profile集合中。 指定以下级别之一:

    Level Setting
    off Off. No profiling.
    slowOp On. Only includes slow operations.
    all On. Includes all operations.

    数据库分析可能会影响数据库性能。 仅在仔细考虑后启用此选项。
    操作Profiling.mode设置仅适用于mongod。

    replication Options

    replication:
       oplogSizeMB: <int>
       replSetName: <string>
       secondaryIndexPrefetch: <string>
       enableMajorityReadConcern: <boolean>
    

    replication.oplogSizeMB

    Type: integer

    复制操作日志的最大大小(以兆字节为单位)(即oplog)。 mongod进程基于最大可用空间量创建一个oplog。 对于64位系统,oplog通常是可用磁盘空间的5%。 一旦mongod第一次创建了oplog,更改replication.oplogSizeMB选项将不会影响oplog的大小。
    详细信息
    replication.oplogSizeMB设置仅适用于mongod。

    replication.replSetName

    Type: string

    mongod是其中一部分的副本集的名称。 副本集中的所有主机必须具有相同的集名称。
    如果您的应用程序连接到多个副本集,则每个集合应具有不同的名称。 某些驱动程序组副本通过副本集名称设置连接。
    replication.replSetName设置仅适用于mongod。

    replication.secondaryIndexPrefetch

    Type: string
    Default: all

    存储发动机特殊功能
    replication.secondaryIndexPrefetch仅适用于mmapv1存储引擎。
    在从oplog应用操作之前,副本集的辅助成员加载到内存中的索引。 默认情况下,在从oplog应用操作之前,二进制文件将与操作相关的所有索引加载到内存中。
    将此设置设置为以下之一:

    Value Description
    none 次级代码不会将索引加载到内存中。
    all 二次加载与操作相关的所有索引。
    _id_only 辅助工具在内存之外不再加载额外的索引,而不是已经存在的_id索引。

    replication.secondaryIndexPrefetch设置仅适用于mongod。

    replication.enableMajorityReadConcern

    Type: boolean
    Default: False
    New in version 3.2.

    Enables read concern level of "majority".

    sharding Options

    sharding:
       clusterRole: <string>
       archiveMovedChunks: <boolean>
    

    sharding.clusterRole

    Type: string

    mongodb实例在分片集群中的作用。 将此设置设置为以下之一:

    Value Description
    configsvr 将此实例作为配置服务器启动。 默认情况下,实例从端口27019启动。
    shardsvr 将此实例作为分片开始。 默认情况下,实例从端口27018开始。

    sharding.clusterRole设置仅适用于mongod。

    sharding.archiveMovedChunks

    Type: boolean

    版本3.2更改:从3.2开始,MongoDB使用false作为默认值。
    在块迁移期间,分片不保存从分片移出的文档。

    snmp Options

    snmp:
       subagent: <boolean>
       master: <boolean>
    

    snmp.subagent

    Type: boolean

    当snmp.subagent为true时,SNMP作为子代理运行。 有关详细信息,请参阅在Linux上使用SNMP监视MongoDB。
    snmp.subagent设置仅适用于mongod

    snmp.master

    Type: boolean

    当snmp.master为true时,SNMP作为主服务器运行。 有关详细信息,请参阅在Linux上使用SNMP监视MongoDB。
    snmp.master设置仅适用于mongod。

    mongos-only Options

    replication:
       localPingThresholdMs: <int>
    
    sharding:
       autoSplit: <boolean>
       configDB: <string>
       chunkSize: <int>
    

    replication.localPingThresholdMs

    Type: integer
    Default: 15

    mongos用于确定哪些辅助副本集成员从客户端传递读取操作的ping时间(以毫秒为单位)。 默认值15对应于所有客户端驱动程序中的默认值。
    当mongos收到允许读取次要成员的请求时,mongos将:

    • 找到具有最低ping时间的组的成员。
    • 构造一个复制集合成员的列表,该列表在集合中最近的合适成员的15毫秒的ping时间内。
      如果您为replication.localPingThresholdMs选项指定了一个值,则mongos将构造在该值允许的延迟范围内的副本成员列表。
    • 从列表中随机选择一个成员阅读。

    用于通过replication.localPingThresholdMs设置进行比较的成员的ping时间是最近每10秒计算的最近ping次数的移动平均值。 因此,某些查询可能会达到高于阈值的成员,直到mongos重新计算平均值。

    sharding.autoSplit

    Type: boolean
    Default: True

    启用或禁用自动拆分碎片集合的块。 如果所有mongos实例上的sharding.autoSplit都为false,则MongoDB不会随着集合中的数据增长而创建新的块。
    因为群集中的任何一个mongos都可以创建一个拆分,以完全禁用群集中的拆分,所以必须在所有的mongos上将sharding.autoSplit设置为false。

    sharding.configDB

    Type: string
    Changed in version 3.2.

    分片集群的配置服务器。
    从MongoDB 3.2开始,分片集群的配置服务器可以部署为副本集。 副本集配置服务器必须运行WiredTiger存储引擎。 MongoDB 3.2不推荐使用配置服务器的三个镜像mongod实例。
    指定配置服务器副本集名称以及配置服务器副本集中至少一个成员的主机名和端口。

    sharding:
      configDB: <configReplSetName>/cfg1.example.net:27017, cfg2.example.net:27017,...
    

    分片集群的mongos实例必须指定相同的配置服务器副本集名称,但可以指定副本集的不同成员的主机名和端口。
    如果使用不推荐的镜像实例,请指定三个mongod实例的主机名和端口。 mongos实例必须指定相同的配置字符串。

    sharding.chunkSize

    Type: integer
    Default: 64

    分片集群中每个块的大小(以兆字节为单位)。 在大多数部署中,64 MB的大小是理想的:较大的块大小可能导致数据分布不均匀; 较小的块大小可能导致节点之间的块的低效移动。
    sharding.chunkSize仅在首次初始化集群时影响块大小。 如果以后修改该选项,则新值不起作用。 如果需要更改现有分片集群上的块大小,请参阅分片集群中的修改块大小。

    sharding.configsvrMode

    Type: string
    New in version 3.2.

    如果设置为sccc,则表示配置服务器部署为三个镜像的mongod实例,即使一个或多个配置服务器也是副本集的成员。 configsvrMode只接受值sccc。
    如果未设置,作为副本集运行的配置服务器将使用“配置服务器副本集”协议来写入配置服务器,而不是“mirrored mongod”写入协议。

  • 相关阅读:
    Java使用jxl修改现有Excel文件内容,并验证其是否对公式的结果产生影响
    Java使用MyBatis的ScriptRunner执行SQL脚本
    Linux下批量解压.Z格式文件
    Java中将一个反斜杠转换成两个反斜杠
    mysql线上操作常用命令
    MySQL主从不一致修复
    slave_exec_mode参数对主从复制的影响
    ssh访问跳过RSA key"yes/no"验证
    k8s更新Pod镜像
    Go 延迟函数 defer 详解
  • 原文地址:https://www.cnblogs.com/cuchadanfan/p/7607048.html
Copyright © 2020-2023  润新知