openstack trove mongodb配置项

Posted S-tec

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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原创作品,受国家《著作权法》保护,未经许可,任何单位及个人不得做营利性使用;若仅做个人学习、交流等非营利性使用,应当指明作者姓名、作品名称,原文地址,并且不得侵犯作者依法享有的其他权利。

以上是关于openstack trove mongodb配置项的主要内容,如果未能解决你的问题,请参考以下文章

trove manual installation 翻译

OpenStack 安装文档(13)-- 数据库服务

trove 开发者阅读翻译

trove design

trove 基于 centos7 制作 mysql5.6 镜像

trove 基于 centos7 制作 mysql5.5 镜像