Configuration File
Offical:The Official Doc.Configuration File Options
NOTE:
- File Format: YAML
- YAML does not support tab characters for indentation: use spaces instead.
Use The Configuration File
Specify the config file with --config
1
2
|
mongod --config /etc/mongod.conf
mongos --config /etc/mongos.conf |
Specify the config file with -f
1
2
|
mongod -f /etc/mongod.conf
mongos -f /etc/mongos.conf |
Core Options
systemLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
systemLog:
# 指定是一个文件
destination: file
# 日志存放位置
path: /home/mgo/mgo.log
# 产生日志内容追加到文件
logAppend: true
# 在quite模式下会限制输出信息
quiet: true
# 默认是iso8601-local,日志信息中还有其他时间戳格式:
# ctime,iso8601-utc,iso8601-local
timeStampFormat: iso8601-utc
|
storage
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
storage:
# 是否开启journal(日志)持久存储,journal日志用来数据恢复,是mongodb最基础的性,
# 通常用于故障恢复。仅对mongod进程有效
journal:
enabled: true
# 数据文件存放路径
dbPath: /data/db
# - 是否将不同DB的数据存储在不同的目录,具体存放在dbPath的子目录,目录名为DB的名称
# - 对已经存储数据的mongod修改此值,需要首先使用mongodump指令将数据导出,然后关闭
# mongod,再修改此值和指定新的dbPath,然后使用mongorestore指令重新导入数据(即
# 导出数据,并使用mongorestore将数据重新写入mongod的新目录中)
# - 此参数仅对mongod进程有效,默认值为false,不建议修改此值
directoryPerDB: false
# mongod使用fsync操作将数据flush到磁盘的时间间隔, 默认值60s;
# mongod将变更的数据写入journal后再写入内存,并间歇性的将内存数据flush到磁盘中,
# 即延迟写入磁盘,有效提升磁盘效率。此指令不影响journal存储,仅对mongod有效。
syncPeriodSecs: 60
# 数据引擎类型, mongodb 3.0之后支持“mmapv1”、“wiredTiger”两种引擎,默认值为
# “mmapv1”;官方宣称wiredTiger引擎更加优秀。
engine: wiredTiger
# wt引擎配置
wiredTiger:
engineConfig:
# wiredTiger缓存工作集(working set)数据的内存大小,单位:GB
cacheSizeGB: 10
# 索引是否按数据库名进行单独存储
directoryForIndexes: true
collectionConfig:
# 压缩配置
blockCompressor: zlib
indexConfig:
# 索引配置
prefixCompression: true
|
processManagement
1
2
3
4
5
6
7
|
processManagement:
# 以守护进程方式运行mongod/mongos, 默认false
fork: true
# 配合 "fork:true" 参数,将mongod/mongos进程ID写入指定的文件,如果
# 不指定,将不会创建PID文件
pidFilePath: /var/run/mgo.pid
|
net
1
2
3
4
5
6
7
8
9
10
11
|
net:
port: 27017
# 绑定ip地址访问mongodb,多个ip逗号分隔(0.0.0.0-绑定到所有接口, 即
# 内网·外网均可访问)
bindIp: 127.0.0.1
# bindIp: [127.0.0.1, 192.168.1.169]
# mongod/mongos进程允许的最大连接数, 如果此值超过操作系统配置的连接
# 数阀值,将不会生效(ulimit);默认值为65536。
maxIncomingConnections: 65536
|
security
1
2
3
4
5
6
7
8
9
|
security:
# 指定分片集或副本集成员之间身份验证的key文件存储位置
keyFile: /home/mgo/keyFile
# 访问数据库和进行操作的用户角色认证
authorization: enabled
# 集群认证模式,默认是keyFile
clusterAuthMode: /home/mgo/keyFile
|
replication
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# 复制集相关配置
replication:
# replication操作日志的最大尺寸,单位:MB。
# mongod进程根据磁盘最大可用空间来创建oplog,比如64位系统,oplog为磁盘
# 可用空间的5%,一旦mongod创建了oplog文件,此后再次修改oplogSizeMB将不
# 会生效。此值不要设置的太小, 应该足以保存24小时的操作日志,以保证secondary
# 有充足的维护时间;如果太小,secondary将不能通过oplog来同步数据,只能
# 全量同步。此值仅对mongod有效。
oplogSizeMB: 51200
# 指定副本集的名称, 无默认值, 复制集中的所有mongd实例都必须有相同的名字
# sharding分布式下,不同的sharding应该使用不同的replSetName。仅对mongod有效。
replSetName: rs
# 指定副本集成员在接受oplog之前是否加载索引到内存。默认会加载所有的索引到内存。none不加载;all加载所有;_id_only仅加载_id
secondaryIndexPrefetch: all
|
sharding
1
2
3
4
5
6
|
# shard, 分片集群模式
sharding:
# 配置sharding集群中mongod服务的角色: 可选值
# configsvr: config server(配置服务器)
# shardsvr: shard(分片)
clusterRole: configsvr
|
仅mongos服务的选项
1
2
3
4
5
6
7
8
|
sharding:
# mongos服务配置此参数,设定config server的地址列表,每个server地址以 “ , ”
# 隔开;config server为分片时,configDB的地址列表一定要加上 replSetName.
configDB: cf/192.168.1.167:27010,192.168.1.167:27011,192.168.1.167:27012
# shard集群中每个chunk的大小, 单位:MB, 默认64
# 整个sharding集群中,此值需要保持一致,集群启动后修改此值将不再生效。仅对mongos有效。
chunkSize: 64
|
See Also
Thanks to the authors 🙂
返回目录