mongodb配置文件经常使用配置项

基于mongo 3.4版本

高于3.4版本的请参考官方文档

docs.mongodb.com/manual/refe…
javascript

mong日志经常使用配置配置

systemLog:java

quiet: <boolean>mongodb

traceAllExceptions: <boolean>数据库

syslogFacility: <string>缓存

path: <string>安全

logAppend: <boolean>服务器

destination: <string>app

timeStampFormat: <string>性能

systemLog.quiet

输入:
boolean

运行
mongos
mongod
处于安静模式,试图限制输出量。

systemLog.quietfetch

是不建议用于生产系统,由于它可使在特定的链接变得更加困难跟踪问题。

systemLog.traceAllExceptions

输入:
boolean

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

systemLog.path

输入:
string

日志文件的路径,
mongod
或者
mongos
应该发送全部诊断日志记录信息,而不是标准输出或主机的
syslog

MongoDB

在指定的路径上建立日志文件。

systemLog.logAppend

输入:
boolean

默认值:
False

mongo
实例重启时,默认备份现有日志,并建立新的日志文件。

配置为
true
时,将新增日志追加到当前的日志文件末尾

systemLog.destination

输入:
string
值为
file
syslog

MongoDB

输入日志的方式。指若是指定
file
,则还必须指定
systemLog.path

若是未指定
systemLog.destination
MongoDB
会将全部日志输出发送到标准输出。

官方建议使用
file

systemLog.timeStampFormat

输入:
string

默认值:
iso8601-local

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

可配置值

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

mong进程经常使用配置

processManagement:

fork: <boolean>

pidFilePath: <string>

processManagement.fork

输入:
boolean

默认值:
False

启用在后台运行
mongos
mongod
处理的守护程序模式。默认状况下
mongos
mongod
不做为守护程序运行:一般经过使用或使用处理守护进程的控制进程(例如,和)运行
mongos
mongod
做为守护程序 运行。

processManagement.pidFilePath

输入:
string

mongs
mongd
指定
pid
的文件位置

mong经常使用网路配置

net:

port: <int>

bindIp: <string>

maxIncomingConnections: <int>

ipv6: <boolean>

net.port

类型:整数

默认值:
27017

MongoDB

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

net.bindIp

输入:
string

默认值:全部接口。

检测使用
mongs
mongd
链接的应用程序的
ip
是否能够访问
mongo
实例。不在绑定范围的
IP
,不可以访问
mong
实例。

要绑定到多个
IP
地址,请输入逗号分隔值列表。

net.maxIncomingConnections

类型:整数

默认值:
65536

要接受
mongos
mongod
将接受的最大同时链接数。若是此设置高于操做系统配置的最大链接跟踪阈值,则此设置无效。

net.ipv6

输入:
boolean

默认值:
False

启用或禁用
IPv6
支持。
mongos
mongod
默认禁用
IPv6
支持。

Mong安全配置

security:

keyFile: <string>

clusterAuthMode: <string>

authorization: <string>

javascriptEnabled: <boolean>

security.keyFile

输入:
string

密钥文件的路径,用于存储
MongoDB
实例用于在分片集群或副本集中相互进行身份验证的共享密钥 。

keyFile

暗示
security.authorization
。有关更多信息,请参阅内部验证

security.clusterAuthMode

输入:
string

默认值:
keyFile

用于群集身份验证的身份验证模式。

此选项能够具备如下值之一

keyFile

使用密钥文件进行身份验证。只接受密钥文件。

sendKeyFile

用于滚动升级目的。发送密钥文件进行身份验证,但能够接受密钥文件和
x.509
证书。

sendX509

用于滚动升级目的。发送
x.509
证书进行身份验证,但能够接受密钥文件和
x.509
证书。

x509

推荐的。发送
x.509
证书以进行身份
​​
验证,并仅接受
x.509
证书。

security.authorization

输入:
string

默认值:
disabled

启用或禁用基于角色的访问控制(
RBAC
)以管理每一个用户对数据库资源和操做的访问。

将此选项设置为如下之一:

描述

enabled

用户只能访问已被授予权限的数据库资源和操做。

disabled

用户能够访问任何数据库并执行任何操做。

security.authorization
设置仅适用于
mongod

security.javascriptEnabled

输入:
boolean

默认值:
True

启用或禁用服务器端
JavaScript
执行。

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

Mongo数据存储配置

storage:

dbPath: <string>

indexBuildRetry: <boolean>

repairPath: <string>

journal:

enabled: <boolean>

commitIntervalMs: <num>

directoryPerDB: <boolean>

syncPeriodSecs: <int>

engine: <string>

wiredTiger:

engineConfig:

cacheSizeGB: <number>

journalCompressor: <string>

directoryForIndexes: <boolean>

collectionConfig:

blockCompressor: <string>

indexConfig:

prefixCompression: <boolean>

inMemory:

engineConfig:

inMemorySizeGB: <number>

storage.dbPath

输入:
string

默认值:
/data/db
Linux
macOS
上,
\data\db
Windows

mongod

实例存储其数据的目录。

storage.dbPath
设置仅适用于
mongod

storage.indexBuildRetry

输入:
boolean

默认值:
True

指定是否
mongod
在下次启动时重建不完整的索引。这适用于在
mongod
索引构建过程当中关闭或中止后从新启动的状况。在这种状况下,
mongod
始终删除任何不完整的索引,而后,默认状况下,尝试重建它们。要中止
mongod
重建索引,请将此选项设置为
false

storage.indexBuildRetry
设置仅适用于
mongod

不适用于
mongod
使用内存存储引擎的实例。

storage.repairPath

输入:
string

默认值:
_tmp_repairDatabase_<num>
下的目录
dbPath

MongoDB

--repair
操做期间将使用的工做目录 。当
--repair
完成后,
storage.repairPath
目录是空的,而且
dbPath
包含了修复的文件。

storage.repairPath
设置仅适用于
mongod

仅适用于
mongod
使用
MMAPv1
存储引擎。

storage.journal.enabled

输入:
boolean

默认值:
true
64
位系统上,
false
32
位系统上

启用或禁用持久性日志以确保数据文件保持有效和可恢复。此选项仅在您指定
storage.dbPath
设置时适用 。所述
mongod
64
位的构建
2.0
后版本的默认启用日志。

storage.journal.enabled
设置仅适用于
mongod

不适用于
mongod
使用内存存储引擎的实例。

若是副本集的任何投票成员在没有日记功能的状况下运行(即运行内存存储引擎或在禁用日记功能的状况下运行),则必须设置
writeConcernMajorityJournalDefault
false

storage.journal.commitIntervalMs

类型:数字

默认值:
100
30

mongod

进程容许在日志操做之间的最长时间(以毫秒为单位)。值的范围为
1
500
毫秒。较低的值会增长日志的持久性,但会牺牲磁盘性能。默认日记账提交间隔为
100
毫秒。

MMAPv1
上,若是日志与数据文件位于不一样的块设备(例如,物理卷,
RAID
设备或
LVM
卷)上,则默认日志提交间隔为
30
毫秒。另外,在
MMAPv1
上,当一个写操做处于
j:true
挂起状态时,
mongod
将减小
commitIntervalMs
到设定值的三分之一。

WiredTiger
上,默认日志提交间隔为
100
毫秒。此外,写入
j:true
将致使日志的当即同步。

storage.journal.commitIntervalMs
设置仅适用于
mongod

不适用于
mongod
使用内存存储引擎的实例。

storage.engine

默认值:
wiredTiger

MongoDB 3.2
开始,
wiredTiger
是默认值。

mongod

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

mmapv1

指定
MMAPv1
存储引擎。

wiredTiger

指定
WiredTiger
存储引擎。

inMemory

指定内存存储引擎。

storage.wiredTiger.engineConfig.cacheSizeGB

输入:
float

WiredTiger

将用于全部数据的内部缓存的最大大小。

值的范围能够从
256MB
10TB
,而且能够是浮点数。此外,默认值也已更改。

3.4
开始,
WiredTiger
内部缓存默认使用较大的一个:
50
%(
RAM-1 GB
),或
256 MB

避免将
WiredTiger
内部缓存大小增长到其默认值以上。

使用
WiredTiger
MongoDB
同时使用
WiredTiger
内部缓存和文件系统缓存。

经过文件系统缓存,
MongoDB
自动使用
WiredTiger
缓存或其余进程未使用的全部可用内存。

注意

storage.wiredTiger.engineConfig.cacheSizeGB
限制
WiredTiger
内部高速缓存的大小。操做系统将使用可用的空闲内存用于文件系统缓存,这容许压缩的
MongoDB
数据文件保留在内存中。此外,操做系统将使用任何空闲
RAM
来缓冲文件系统块和文件系统缓存。

为了容纳额外的
RAM
使用者,您可能必须减小
WiredTiger
内部缓存大小。

默认的
WiredTiger
内部缓存大小值取决于假定
mongod
每台计算机有一个实例。若是单个计算机包含多个
MongoDB
实例,则应减小该设置以适应其余
mongod
实例。

storage.wiredTiger.engineConfig.journalCompressor

默认值:
snappy

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

可用的压缩机有:
none
snappy
zlib

storage.wiredTiger.engineConfig.directoryForIndexes

输入:
boolean

默认值:
false

storage.wiredTiger.engineConfig.directoryForIndexes
true
mongod
存储在数据(即下单独子目录索引和集合
storage.dbPath
)目录。具体而言,
mongod
将索引存储在已命名的子目录中
index
,并将集合数据存储在名为的子目录中
collection

storage.wiredTiger.collectionConfig.blockCompressor

默认值:
snappy

用于压缩集合数据的默认压缩类型。您能够在建立集合时基于每一个集合覆盖此设置。

可用的压缩格式有:
none
snappy
zlib

storage.wiredTiger.collectionConfig.blockCompressor

影响建立的全部集合。若是更改
storage.wiredTiger.collectionConfig.blockCompressor
现有
MongoDB
部署的值,则全部新集合都将使用指定的压缩器。现有集合将继续使用建立时指定的压缩器,或当时的默认压缩器。

storage.wiredTiger.indexConfig.prefixCompression

默认值:
true

启用或禁用索引数据的前缀压缩。

指定
true
为索引数据
storage.wiredTiger.indexConfig.prefixCompression
启用前缀压缩,或
false
禁用索引数据的前缀压缩。

storage.wiredTiger.indexConfig.prefixCompression
设置会影响全部建立的索引。若是更改
storage.wiredTiger.indexConfig.prefixCompression
现有
MongoDB
部署的值,则全部新索引都将使用前缀压缩。现有索引不受影响。

storage.inMemory.engineConfig.inMemorySizeGB

输入:
float

默认值:物理
RAM
50
%减去
1 GB

值的范围能够从
256MB
10TB
,而且能够是浮点数。

为内存存储引擎数据分配的最大内存量,包括索引,
oplog
(若是它
mongod
是副本集,副本集或分片集群元数据的一部分)等。

默认状况下,内存存储引擎使用
50
%的物理
RAM
减去
1 GB

仅适用于
MongoDB
企业版

mong慢查询配置

operationProfiling:

slowOpThresholdMs: <int>

mode: <string>

operationProfiling.slowOpThresholdMs

类型:整数

默认值:
100

数据库探查器认为查询缓慢的阈值(以毫秒为单位)。即便数据库分析器处于关闭状态,
MongoDB
也会将全部慢速查询记录到日志中。当探查器打开时,它会写入
system.profile
集合。

operationProfiling.slowOpThresholdMs
设置仅适用于
mongod

operationProfiling.mode

输入:
string

默认值:
off

数据库概要分析的级别,它将有关操做性能的信息插入到
system.profile
集合中。

能够指定的级别:

off

关闭,没有剖析。

slowOp

仅包括慢速操做。

all

包括全部操做。

数据库分析可能会影响数据库性能

operationProfiling.mode
设置仅适用于
mongod

mong副本集相关配置

replication:

oplogSizeMB: <int>

replSetName: <string>

secondaryIndexPrefetch: <string>

enableMajorityReadConcern: <boolean>

replication.oplogSizeMB

类型:整数

复制操做日志的最大大小(以兆字节为单位)(即
oplog
)。该
mongod
过程基于可用的最大空间量建立
oplog

对于
64
位系统,
oplog
一般占可用磁盘空间的
5
%。一旦
mongod
第一次建立了
oplog
,更改
replication.oplogSizeMB
选项将不会影响
oplog
的大小。

replication.oplogSizeMB
设置仅适用于
mongod

replication.replSetName

输入:
string

做为其
mongod
一部分的副本集的名称。副本集中的全部主机必须具备相同的集名称。

若是您的应用程序链接到多个副本集,则每一个集应具备不一样的名称。

replication.replSetName
设置仅适用于
mongod

replication.enableMajorityReadConcern

输入:
boolean

默认值:
False

启用读取关注级别
"majority"

mong分片集相关配置

sharding:

clusterRole: <string>

archiveMovedChunks: <boolean>

sharding.clusterRole

输入:
string

mongod

实例在分片集群中的角色。

将此设置设置为如下之一:

configsvr

将此实例做为配置服务器启动。
27019
默认状况下,实例在端口上启动。

shardsvr

启动此实例为碎片。
27018
默认状况下,实例在端口上启动。

sharding.clusterRole
设置仅适用于
mongod

sharding.archiveMovedChunks

输入:
boolean

3.2
开始,
MongoDB false
用做默认值。

在块迁移期间,分片不会保存从分片迁移的文档。

mong分片集中Mongs的配置

replication:

localPingThresholdMs: <int>

sharding:

configDB: <string>

replication.localPingThresholdMs

类型:整数

默认值:
15

mongos

用于肯定哪些副本集成员从客户端传递读取操做的
ping
时间(以毫秒为单位)。默认值
15

mongos
客户端从副本集读取数据的请求后,
mongs
会执行的操做:

1

,找到具备最低
ping
时间的集合的成员。

2

,找到集合中
ping
时间在
15
毫秒以内的全部副本集成员列表。

3

,若是指定选项的值,
mongos
则将查找在此值容许的延迟范围内的副本成员。

4

,从查询到的副本集成员列表中随机选择要读取的成员。

用于成员的
replication.localPingThresholdMs
设置比较的
ping
时间是最近
ping
时间的移动平均值,最多每
10
秒计算一次。

所以,某些查询可能会达到超过阈值的成员,直到
mongos
从新计算平均值。

sharding.configDB

输入:
string

该配置服务器用于分片群集。

指定配置服务器副本集名称以及配置服务器副本集的至少一个成员的主机名和端口。

sharding:

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

分片
mongos
群集的实例必须指定相同的配置服务器副本集名称,但能够指定副本集的不一样成员的主机名和端口。
相关文章
相关标签/搜索