• mongd配置文件解释


    mongd配置文件解释

    系统日志配置

    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>
    
    • verbosity:日志级别,默认是0,可选参数[1-5]。
    • quiet: 是否以静默的方式输出日志,不推荐用于生产系统,因为它可能会使特定连接期间的跟踪问题变得更加困难。
    • traceAllExceptions: 打印详细信息进行排错。
    • syslogFacility:默认是user,系统将日志打入到syslog的设备级别。需要启用--syslog选项。
    • path:指定日志存放路径。
    • logAppend:当为true时,重启后log会追加到现有log文件中,默认是false,每次重启都会创建新的文件。
    • logRotate:日志回滚方式,默认是rename,重命名日志,可以设置reopen,如果设置reopen,则按照linux的方式来轮询,reopen需要和logappend=True 一起使用。
    • destination:输出日志的方式,是文件还是syslog.
    • timeStampFormat: 日志时间格式,默认是本地时间(iso8601-local),可选:iso8601-utc,ctime。
    processManagement:
       fork: <boolean>
       pidFilePath: <string>
    
    • fork: 是否以守护进程方式运行
    • pidFilePath: PID文件的位置

    网络选项

    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>
       compression:
          compressors: <string>
    
    • net.port:监听端口
    • net.bindIp:监控ip
    • net.maxIncomingConnections:最大连接数限制,默认是65535
    • net.wireObjectCheck:默认为true,检查客户端传入的BSON数据是否正常。
    • net.ipv6:是否启用IPv6 默认是false。
    • net.unixDomainSocket.enabled:是否启用网络套接字连接,默认是true。
    • net.unixDomainSocket.pathPrefix:套接字存放路径。默认/tmp
    • net.unixDomainSocket.filePermissions:套接字文件的权限,默认是0700.
    • net.http:确保生产环境中的HTTP状态接口,REST API和JSON API都被禁用,以防止潜在的数据暴露和攻击者的漏洞。
    • net.http.enabled: 默认是false,从3.2版本开始已经弃用。
    • net.http.JSONPEnabled:通过HTTP接口启用或禁用JSONP访问,从3.2版本开始已经弃用。
    • net.http.RESTInterfaceEnabled: 启用或禁用简单的REST API。从3.2版本开始已经弃用。
    • net.ssl:主要配置ssl参数信息。
    • net.compression.compressors: 是否启用网络压缩。

    安全设置

    security:
       keyFile: <string>
       clusterAuthMode: <string>
       authorization: <string>
       transitionToAuth: <boolean>
       javascriptEnabled:  <boolean>
       redactClientLogData: <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>
       ldap:
          servers: <string>
          bind:
             method: <string>
             saslMechanism: <string>
             queryUser: <string>
             queryPassword: <string>
             useOSDefaults: <boolean>
          transportSecurity: <string>
          timeoutMS: <int>
          userToDNMapping: <string>
          authz:
             queryTemplate: <string>
    
    • security.authorization:默认disable,是否启用权限验证。
    setParameter:
       <parameter1>: <value1>
       <parameter2>: <value2>
    
    • setParameter:设置mongodb中的参数来描述。

    引擎方面的认证
    mongod引擎分为三种:mmapv1,wiredTiger,inMemory.

    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: 数据文件存放位置。

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

    • storage.repairPath:存放 --repair的临时文件,使用完成后,删除,只能用于mongod。

    • storage.journal.enabled:是否启用二进制日志。64位系统时,默认为True.

    • storage.journal.commitIntervalMs: 进程在日志操作之间允许的最大时间,默认是100毫秒,或30毫秒

    • storage.directoryPerDB: 默认为false,为true时,使用单独的目录存放数据库,目录位于storage.dbPath目录下,每个子目录名称对应于数据库名称。

    • storage.syncPeriodSecs: 数据sync刷新到磁盘的时间间隔,默认60,设置为0时,则不会刷新到硬盘。

    • storage.engine:存储引擎,默认:wiredTiger

    • storage.mmapv1.preallocDataFiles:是否启用预分配文件,默认是True.

    • storage.mmapv1.nsSize: 默认16,命名空间文件的默认大小,它们是以.ns结尾的文件。每个集合和索引都将计算为一个命名空间。对现有文件没有影响。16M大概可以存放24,000个命名空间。

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

    • storage.mmapv1.quota.maxFilesPerDB: 每个数据库的数据文件数量的限制。 默认是8.

    • storage.mmapv1.smallFiles: MongoDB使用较小的默认文件大小。默认false。

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

    • storage.mmapv1.journal.commitIntervalMs: 3.2开始不建议使用。

    • storage.wiredTiger.engineConfig.cacheSizeGB:WiredTiger将用于所有数据的内部缓存的最大大小。最大:一半内存减1G,或者256M。不推荐超过最大设置。

    • storage.wiredTiger.engineConfig.journalCompressor: 压缩WiredTiger日志数据的压缩类型。none, snappy, zlib。

    • storage.wiredTiger.engineConfig.directoryForIndexes:默认为false,当为True时,会在子目录中创建一个index文件夹存放索引。可以通过快捷方式将索引文件移走。

    • storage.wiredTiger.collectionConfig.blockCompressor: 数据压缩格式:none, snappy, zlib。

    • storage.wiredTiger.indexConfig.prefixCompression: 启用或禁用索引数据的前缀压缩。默认为True。

    • storage.inMemory.engineConfig.inMemorySizeGB:内存存储引擎数据分配的最大内存量,默认为:一半内存减1G。

    慢查询设置

    operationProfiling:
       slowOpThresholdMs: <int>
       mode: <string>
    
    • operationProfiling.slowOpThresholdMs: 数据分析器,记录慢查询,默认100ms
    • operationProfiling.mode: 默认关闭,记录级别。slowOp,只记录慢查询,all记录索引值。

    复制选项设置

    replication:
       oplogSizeMB: <int>
       replSetName: <string>
       secondaryIndexPrefetch: <string>
       enableMajorityReadConcern: <boolean>
    
    • replication.oplogSizeMB: 复制操作日志的最大大小,oplog默认占用磁盘5%最好。
    • replication.replSetName: 副本集的名字。
    • replication.secondaryIndexPrefetch: 只适用于mmapv1引擎,默认参数:all 在从oplog应用操作之前,二进制文件将与操作相关的所有索引加载到内存中。
    • replication.enableMajorityReadConcern: 启用阅读关注级别的“多数”。默认false。

    分片配置

    sharding:
       clusterRole: <string>
       archiveMovedChunks: <boolean>
    
    • sharding.clusterRole:角色定义:configsvr:配置服务器,shardsvr:分片服务器。
    • sharding.archiveMovedChunks: 默认是false,在块迁移期间,分片不会保存从分片移出的文档。

    mongos参数

    replication:
       localPingThresholdMs: <int>
    
    sharding:
       configDB: <string>
    
    • replication.localPingThresholdMs: 默认15ms,ping值每10s更新一次,mongos将客户端请求转发给延迟较小的secondary节点。
    • sharding.configDB:用来配置config服务器的列表。

    官方文档对配置的解释

  • 相关阅读:
    使用 Docker 安装 Jenkins 的最佳方式
    使用 Docker 在 Linux 上托管 ASP.NET Core 应用程序
    分布式缓存 Redis 集群搭建
    [译]RabbitMQ教程C#版
    如何解决 React 官方脚手架不支持 Less 的问题
    [译]RabbitMQ教程C#版
    [译]RabbitMQ教程C#版
    快速签发 Let's Encrypt 证书指南
    [译]RabbitMQ教程C#版
    [译]RabbitMQ教程C#版
  • 原文地址:https://www.cnblogs.com/biglittleant/p/7267391.html
Copyright © 2020-2023  润新知