openstack trove mongodb配置项
systemLog.verbosity 组件的默认日志消息详细程度级别。 详细程度级别决定MongoDB输出的信息和调试消息量。 详细级别可以在0到5之间: 0是MongoDB的默认日志详细程度级别,以包括信息性消息。 1到5增加了详细级别,以包括调试消息。 要为命名组件使用不同的详细级别,请使用组件的详细程度设置。 例如,使用systemLog.component.accessControl.verbosity为ACCESS组件专门设置详细程度级别。 有关特定组件详细程度设置,请参阅systemLog.component。<name> .verbosity设置。 有关设置日志详细程度级别的各种方法,请参阅配置日志详细程度级别。 systemLog.component.accessControl.verbosity 与访问控制相关的组件的日志消息详细级别。 请参阅ACCESS组件。 详细级别可以在0到5之间: 0是MongoDB的默认日志详细程度级别,以包括信息型消息。 1到5增加了详细级别,以包括调试消息。 systemLog.component.command.verbosity 与命令相关的组件的日志消息详细程度级别。 请参阅COMMAND组件。 详细级别可以在0到5之间: 0是MongoDB的默认日志详细程度级别,以包括信息性消息。 1到5增加了详细级别,以包括调试消息。 systemLog.component.control.verbosity 与控制操作有关的组件的日志消息详细程度级别。 请参阅控制组件。 详细级别可以在0到5之间: 0是MongoDB的默认日志详细程度级别,以包括信息性消息。 1到5增加了详细级别,以包括调试消息。 systemLog.component.geo.verbosity 与地理空间解析操作相关的组件的日志消息详细级别。 见GEO组件。 详细级别可以在0到5之间: 0是MongoDB的默认日志详细程度级别,以包括信息性消息。 1到5增加了详细级别,以包括调试消息。 systemLog.component.index.verbosity 与索引操作相关的组件的日志消息详细级别。 请参阅INDEX组件。 详细级别可以在0到5之间: 0是MongoDB的默认日志详细程度级别,以包括信息性消息。 1到5增加了详细级别,以包括调试消息。 systemLog.component.network.verbosity 与网络操作相关的组件的日志消息详细级别。 请参阅NETWORK组件。 详细级别可以在0到5之间: 0是MongoDB的默认日志详细程度级别,以包括信息性消息。 1到5增加了详细级别,以包括调试消息。 systemLog.component.query.verbosity 与查询操作相关的组件的日志消息详细程度级别。 查看QUERY组件。 详细级别可以在0到5之间: 0是MongoDB的默认日志详细程度级别,以包括信息性消息。 1到5增加了详细级别,以包括调试消息。 systemLog.component.replication.verbosity 与复制相关的组件的日志消息详细程度级别。 请参阅REPL组件。 详细级别可以在0到5之间: 0是MongoDB的默认日志详细程度级别,以包括信息性消息。 1到5增加了详细级别,以包括调试消息。 systemLog.component.sharding.verbosity 与分片相关的组件的日志消息详细程度级别。 请参阅SHARDING组件。 详细级别可以在0到5之间: 0是MongoDB的默认日志详细程度级别,以包括信息性消息。 1到5增加了详细级别,以包括调试消息。 systemLog.component.storage.verbosity 与存储相关的组件的日志消息详细程度级别。 请参阅STORAGE组件。 详细级别可以在0到5之间: 0是MongoDB的默认日志详细程度级别,以包括信息性消息。 1到5增加了详细级别,以包括调试消息。 systemLog.component.storage.journal.verbosity 与日志相关的组件的日志消息详细程度级别。 请参阅JOURNAL组件。 详细级别可以在0到5之间: 0是MongoDB的默认日志详细程度级别,以包括信息性消息。 1到5增加了详细级别,以包括调试消息。 systemLog.component.write.verbosity 与写操作相关的组件的日志消息详细程度级别。 请参阅WRITE组件。 详细级别可以在0到5之间: 0是MongoDB的默认日志详细程度级别,以包括信息性消息。 1到5增加了详细级别,以包括调试消息。 systemLog.quiet 运行mongos或mongod在一个安静的模式,试图限制输出量。 systemLog.traceAllExceptions 打印详细信息进行调试。 用于支持相关故障排除的其他日志记录。 systemLog.logAppend 当为真时,当mongos或mongod实例重新启动时,mongos或mongod会将新条目追加到现有日志文件的末尾。 没有此选项,mongod将备份现有日志并创建一个新文件。 systemLog.logRotate logRotate命令的行为。 指定重命名或重新打开: rename 重命名日志文件。 reopen 关闭并按照典型的Linux / Unix日志旋转行为重新打开日志文件。 使用Linux / Unix logrotate实用程序时,请重新打开以避免日志丢失。 systemLog.timeStampFormat 日志消息中时间戳的时间格式。 指定以下值之一: 值说明 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 net.maxIncomingConnections mongos或mongod将接受的最大并发连接数。 如果高于操作系统配置的最大连接跟踪阈值,此设置不起作用。 不要为此选项分配太低的值,否则在正常应用程序操作期间将遇到错误。 如果您有一个客户端创建多个连接并允许它们超时而不是关闭它们,这对于一个mongos特别有用。 此设置可防止mongos在各个碎片上引起连接尖峰。 像这样的尖峰可能会破坏分片集群的操作和内存分配。 net.wireObjectCheck 如果为true,则mongod或mongos实例在收到客户端时验证所有请求,以防止客户端将错误或无效的BSON插入MongoDB数据库。 对于具有高度子文档嵌套的对象,net.wireObjectCheck对性能影响很小。 net.ipv6 启用或禁用IPv6支持,并允许mongos或mongod使用IPv6网络连接到MongoDB实例。 在MongoDB 3.0之前,您必须指定net.ipv6才能使用IPv6。 net.http.enabled 启用或禁用HTTP接口。 启用接口可以增加网络暴露。 保留HTTP接口禁用生产部署。 如果您启用此界面,则只应允许受信任的客户端访问此端口。 请参阅防火墙。 注意 MongoDB Enterprise不支持Kerberos身份验证,任何版本的MongoDB中的HTTP状态接口都不支持Kerberos。 net.http.JSONPEnabled 通过HTTP接口启用或禁用JSONP访问。 启用接口可以增加网络暴露。 net.http.RESTInterfaceEnabled 启用或禁用简单的REST API。 即使禁用HTTP接口选项,启用REST API也可以启用HTTP接口,从而可以增加网络暴露。 security.authorization 启用或禁用基于角色的访问控制(RBAC)来管理每个用户对数据库资源和操作的访问。 将此选项设置为以下之一: 值说明 enabled 用户只能访问已被授予权限的数据库资源和操作。 disabled 可以访问任何数据库并执行任何操作。 有关详细信息,请参阅基于角色的访问控制。 security.sasl.hostName 用于配置SASL和Kerberos认证的完全限定的服务器域名。 SASL主机名仅覆盖于有SASL和Kerberos配置的主机的主机名。 对于mongo shell和其他MongoDB工具连接到新的hostName,请参阅mongo shell和其他工具中的gssapiHostName选项。 security.sasl.serviceName 使用SASL的服务的注册名称。 此选项允许您根据实例覆盖Kerberos主体名称的默认Kerberos服务名称组件。 如果未指定,默认值为mongodb。 security.sasl.saslauthdSocketPath saslauthd的UNIX域套接字文件的路径。 security.javascriptEnabled 启用或禁用服务器端JavaScript执行。 禁用时,您不能使用服务器端执行JavaScript代码的操作,例如$ where查询运算符,mapReduce命令和db.collection.mapReduce()方法,group命令和db.collection.group()方法。 operationProfiling.slowOpThresholdMs 数据库分析器认为查询缓慢的以毫秒为单位的阈值。 MongoDB将所有缓慢的查询记录到日志中,即使数据库分析器关闭。 当分析器打开时,它会写入system.profile集合。 有关数据库分析器的更多信息,请参阅profile命令。 operationProfiling.mode 数据库分析的级别,它将有关操作性能的信息插入到system.profile集合中。 指定以下级别之一: 级别设置 off 没有档案。 slowOp 只包括缓慢的操作。 all 包括所有操作。 数据库分析可能会影响数据库性能。 仅在仔细考虑后才启用此选项。 storage.indexBuildRetry 指定mongod是否在下次启动时重建不完整的索引。 这种情况适用于在索引生成中间关闭或停止后mongod重新启动的情况。 在这种情况下,mongod总是删除任何不完整的索引,然后,默认情况下,尝试重建它们。 要阻止mongod重建索引,请将此选项设置为false。 storage.journal.enabled 启用或禁用耐用性日记帐以确保数据文件保持有效和可恢复。 此选项仅在指定--dbpath选项时适用。 mongod默认启用日志记录,在版本2.0同时是64位的。 storage.directoryPerDB 当为true时,MongoDB使用单独的目录来存储每个数据库的数据。目录位于storage.dbPath目录下,每个子目录名称对应于数据库名称。 在版本3.0中更改:要更改现有部署的storage.directoryPerDB选项,必须使用新的storage.directoryPerDB值和新的数据目录(storage.dbPath值)重新启动mongod实例,然后重新填充数据。 对于独立实例,可以在现有实例上使用mongodump,停止实例,重新启动新的storage.directoryPerDB值和新的数据目录,并使用mongorestore填充新的数据目录。 对于副本集,您可以通过停止辅助成员以滚动方式进行更新,使用新的storage.directoryPerDB值和新的数据目录重新启动,并使用初始同步来填充新的数据目录。要更新所有成员,请先从辅助成员开始。然后降低主要功能,并更新降级成员。 storage.syncPeriodSecs MongoDB通过fsync操作将数据刷新到数据文件之前可以通过的时间量。 警告 如果将storage.syncPeriodSecs设置为0,MongoDB将不会将内存映射文件同步到磁盘。 mongod进程将数据快速写入日志,并且懒惰地将数据文件写入数据。 storage.syncPeriodSecs对日志文件或日志记录没有影响。 serverStatus命令通过backgroundFlushing字段报告后台flush线程的状态。 storage.engine mongod数据库的存储引擎。 有效的选项包括mmapv1和wiredTiger。 如果尝试使用storage.dbPath启动mongod,其中包含由storage.engine指定的存储引擎以外的存储引擎生成的数据文件,mongod将拒绝启动。 storage.mmapv1.nsSize 他是命名空间文件的默认大小,它们是以.ns结尾的文件。 每个集合和索引都将计算为一个命名空间。 使用此设置来控制新创建的命名空间文件的大小。 此选项对现有文件没有影响。 命名空间文件的最大大小为2047兆字节。 默认值为16兆字节提供约24,000个命名空间。 storage.mmapv1.quota.enforced 启用或禁用每个数据库可以拥有的数字数据文件的最大限制。 当使用storage.mmapv1.quota.enforced选项运行时,MongoDB每个数据库最多有8个数据文件。 使用storage.quota.maxFilesPerDB调整配额。 storage.mmapv1.quota.maxFilesPerDB 每个数据库的数据文件数量的限制。 storage.mmapv1.quota.maxFilesPerDB选项要求您设置 storage.mmapv1.smallFiles 当为true时,MongoDB使用较小的默认文件大小。 storage.mmapv1.smallFiles选项可以减少数据文件的初始大小,并将最大大小限制为512 MB。 storage.mmapv1.smallFiles还将每个日志文件的大小从1千兆字节减少到128兆字节。 如果您拥有大量数据库,每个数据库都保存少量数据,请使用storage.mmapv1.smallFiles。 storage.mmapv1.smallFiles选项可以导致mongod实例创建大量文件,这可能会影响较大数据库的性能。 storage.mmapv1.journal.debugFlags 提供测试功能。 不适用于一般情况,并会在系统异常关机的情况下影响数据文件的完整性。 storage.mmapv1.journal.commitIntervalMs mongod进程在日志操作之间允许的最大时间(毫秒)。 值可以在2到300毫秒的范围内。 较低的值可以增加磁盘的性能。 如果单个块设备(例如物理卷,RAID设备或LVM卷)同时包含日志和数据文件,则默认日志提交间隔为100毫秒。 如果日志位于与数据文件不同的块设备上,则默认日志提交间隔为30毫秒。 要强制mongod更频繁地提交日志,可以指定j:true。 当使用j:true的写入操作挂起时,mongod将会将commitIntervalMs减少到设置值的三分之一。 storage.wiredTiger.engineConfig.cacheSizeGB WiredTiger将用于所有数据的缓存的最大大小。确保storage.wiredTiger.engineConfig.cacheSizeGB足以容纳mongod实例的整个工作集。 注意 storage.wiredTiger.engineConfig.cacheSizeGB仅限制WiredTiger缓存的大小,而不是mongod使用的内存总量。 WiredTiger缓存只是MongoDB使用的RAM的一个组件。 MongoDB还通过文件系统缓存(文件系统缓存中的数据被压缩)自动使用机器上的所有可用内存。 此外,操作系统将使用任何可用的RAM缓冲文件系统块。 为了适应RAM的额外消费者,您可能必须减少WiredTiger缓存大小。避免将WiredTiger缓存大小增加到其默认值以上。 默认的WiredTiger缓存大小值假定每个节点有一个mongod实例。如果单个节点包含多个实例,那么您应该减少设置以适应其他mongod实例。 如果您在无法访问系统中可用的所有RAM的容器(例如lxc,cgroups,Docker等)中运行mongod,则必须将storage.wiredTiger.engineConfig.cacheSizeGB设置为小于该值的值的容器中可用的RAM。确切的数量取决于容器中运行的其他进程。 storage.wiredTiger.engineConfig.statisticsLogDelaySecs storage.wiredTiger.engineConfig.journalCompressor 用于压缩WiredTiger日志数据的压缩类型。 可用的压缩机有: none snappy zlib storage.wiredTiger.collectionConfig.blockCompressor 用于压缩收集数据的默认压缩类型。 您可以在创建集合时根据每个集合来覆盖此。 可用的压缩机有: none snappy zlib storage.wiredTiger.collectionConfig.blockCompressor会影响创建的所有集合。 如果在现有MongoDB部署中更改storage.wiredTiger.collectionConfig.blockCompressor的值,则所有新集合将使用指定的压缩器。 现有的集合将继续使用创建时指定的压缩器,或者当时的默认压缩器。 storage.wiredTiger.indexConfig.prefixCompression 启用或禁用索引数据的前缀压缩。 为storage.wiredTiger.indexConfig.prefixCompression指定true以为索引数据启用前缀压缩,或为禁用索引数据的前缀压缩为false。 storage.wiredTiger.indexConfig.prefixCompression设置影响所有创建的索引。 如果在现有MongoDB部署上更改storage.wiredTiger.indexConfig.prefixCompression的值,则所有新索引将使用前缀压缩。 现有的索引不受影响。 replication.oplogSizeMB 复制操作日志的最大大小(以兆字节为单位)(即oplog)。 mongod进程基于最大可用空间量创建一个oplog。 对于64位系统,oplog通常是可用磁盘空间的5%。 一旦mongod第一次创建oplog,更改replication.oplogSizeMB选项将不会影响oplog的大小。 有关详细信息,请参阅Oplog Size。 replication.secondaryIndexPrefetch replication.secondaryIndexPrefetch仅适用于mmapv1存储引擎。 在从oplog应用操作之前,副本集的辅助成员加载到内存中的索引。 默认情况下,在从oplog应用操作之前,二进制文件将与操作相关的所有索引加载到内存中。 将此设置设置为以下之一: 值 说明 None 二进制不将索引加载到内存中。 all 次要装载与操作相关的所有索引。 _id_only Secondary在内存之外没有额外的索引加载到已经存在的_id索引之外。 sharding.clusterRole mongod实例在分片集群中的作用。 将此设置设置为以下之一: 值 说明 configsvr 将此实例作为配置服务器启动。 默认情况下,实例从端口27019启动。 shardsvr 此实例作为碎片启动。 默认情况下,实例从端口27018启动。 auditLog.format 如果目的地是文件,则用于审核的输出文件的格式。 auditLog.format选项可以具有以下值之一: 值 说明 JSON 将JSON格式的审核事件输出到-auditPath中指定的文件。 BSON 以BSON二进制格式将审核事件输出到-auditPath中指定的文件。 以JSON格式将审核事件打印到文件会降低服务器性能,而不是以BSON格式打印到文件。 注意 auditLog.filter 过滤器限制审计系统记录的操作类型。 该选项采用以下形式的查询文档的字符串表示形式: {<field1>:<expression1>,...} <field>可以是审计消息中的任何字段,包括在param文档中返回的字段。 <expression>是查询条件表达式。 要指定审核过滤器,请将过滤器文档包含在单引号中以将其作为字符串传递。 要在配置文件中指定审核过滤器,必须使用配置文件的YAML格式。 注意 snmp.subagent 当snmp.subagent为真时,SNMP作为子代理运行。 有关详细信息,请参阅在Linux上使用SNMP监视MongoDB。 snmp.master 当snmp.master为true时,SNMP作为主服务器运行。 有关详细信息,请参阅在Linux上使用SNMP监视MongoDB。 replication.localPingThresholdMs mongos用于确定哪些辅助副本集成员从客户端传递读取操作的ping时间(以毫秒为单位)。默认值15对应于所有客户端驱动程序中的默认值。 当mongos收到允许读取次要成员的请求时,mongos将: 找到具有最低ping时间的组的成员。 构造一个复制集合成员的列表,该列表位于集合中最近的合适成员的15毫秒的ping时间内。 如果为replication.localPingThresholdMs选项指定了一个值,则mongos将构造在该值允许的延迟范围内的副本成员列表。 从此列表中选择随机读取的成员。 用于通过replication.localPingThresholdMs设置进行比较的成员的ping时间是最近每10秒计算的最近ping次数的移动平均值。因此,一些查询可能会达到高于阈值的成员,直到mongos重新计算平均值。 有关详细信息,请参阅读取首选项文档的成员选择部分。 sharding.autoSplit 启用或禁用自动拆分碎片集合的块。 如果所有mongos实例上的sharding.autoSplit都为false,那么MongoDB在集合中的数据增长时不会创建新的块。 因为群集中的任何一个mongos都可以创建一个拆分,以完全禁用群集中的拆分,所以必须在所有的mongos上将sharding.autoSplit设置为false。 警告 sharding.chunkSize 分片集群中每个块的大小(以兆字节为单位)。 在大多数部署中,64 MB的大小是理想的:较大的块大小可能导致数据分布不均匀; 较小的块大小可能导致节点之间块的运行效率低下。 sharding.chunkSize仅在首次初始化群集时影响块大小。 setParameter 设置MongoDB服务器参数中描述的MongoDB参数或参数 要在YAML配置文件中设置参数,请使用以下格式: setParameter: <parameter1>:<value1> <parameter2>:<value2> 例如,要在配置文件中指定enableLocalhostAuthBypass: setParameter: enableLocalhostAuthBypass:false
更多openstack/trove的文章:http://www.cnblogs.com/S-tec-songjian/
此文章属博客园用户S-tec原创作品,受国家《著作权法》保护,未经许可,任何单位及个人不得做营利性使用;若仅做个人学习、交流等非营利性使用,应当指明作者姓名、作品名称,原文地址,并且不得侵犯作者依法享有的其他权利。