MongoDB配置文件YAML-based选项全解
MongoDB引入一个YAML-based格式的配置文件。2.4版本以前的仍然兼容。
我的mongodb配置文件:
|
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
39
40
41
42
43
44
45
|
systemLog: destination: file path: "/var/log/mongo/mongod.log" quiet: true logAppend: true timeStampFormat: iso8601-utcstorage: dbPath: "/var/lib/mongo" directoryPerDB: true indexBuildRetry: false preallocDataFiles: true nsSize: 16# quota:# enforced: false# maxFilesPerDB: 8 smallFiles: false syncPeriodSecs: 60# repairPath: "/var/lib/mongo/_tmp" journal: enabled: true# debugFlags: 1 commitIntervalMs: 100processManagement: fork: true pidFilePath: "/var/run/mongodb/mongod.pid"net: # bindIp: 192.168.11.52 port: 27017 http: enabled: true RESTInterfaceEnabled: false # ssl:# mode: "requireSSL"# PEMKeyFile: "/etc/ssl/mongodb.pem"operationProfiling: slowOpThresholdMs: 100 mode: "slowOp"security: keyFile: "/var/lib/mongo/mongodb-keyfile" clusterAuthMode: "keyFile" authorization: "disabled"replication: oplogSizeMB: 50 replSetName: "repl_test" secondaryIndexPrefetch: "all" |
设置选项:
1. systemLog
|
1
|
systemLog.verbosity |
integer
日志文件输出的级别,越大级别越低。
|
1
|
systemLog.quite |
boolean
在quite模式下会限制输出信息:
数据库命令输出,副本集活动,连接接受事件,连接关闭事件。
|
1
|
systemLog.traceAllExceptions |
string
打印verbose信息来调试,用来记录证额外的异常日志。
|
1
|
systemLog.syslogFacility |
string,默认为user
指定syslog日志信息的设备级别。需要指定--syslog来使用这个选项。
|
1
|
systemLog.path string |
发送所有的诊断信息日志,默认重启后会覆盖。
|
1
|
systemLog.logAppend |
boolean
是否启用追加日志。
|
1
|
systemLog.destination |
string
指定一个文件或syslog。如果指定为文件,必须同时指定systemLog.path
|
1
|
systemLog.timeStampFormat |
string,默认为iso8601-local
日志信息中的时间戳格式:
|
1
|
ctime,iso8601-utc,iso8601-local |
2. processManagement
|
1
|
processManagement.pidFilePath |
string
指定进程的ID,与--fork配合使用,不指定则不会创建。
|
1
|
processManagement.fork |
boolean,默认为false
是守护进程在后台运行。
3. net
|
1
|
net.port |
interger,默认为27017
mongodb实例监听的端口号。
|
1
|
net.bindIp |
string,2.6版本默认为127.0.0.1
指定mongodb实例绑定的ip,为了绑定多个ip,可以使用逗号分隔。
|
1
|
net.maxIncomingConnections |
integer 默认为1000000
mongodb实例接受的最多连接数,如果高于操作系统接受的最大线程数,设置无效。
|
1
|
net.wireObjectCheck |
boolean,默认为true
检查文档的有效性。会稍微影响性能。
|
1
|
net.http.enabled |
boolean,默认为false
打开http端口,会导致更多的不安全因素。
|
1
|
net.unixDomainSocket.enabled |
boolean,默认为false
停止UNIX domain socket监听。
mongodb实例会一直监听UNIX
socket,除非net.unixDomainSocket.enabled设置为true,bindIp没有设置,bindIp没有默认指定为127.0.0.1。
|
1
|
net.unixDomainSocket.pathPrefix |
string,默认为/tmp
unix Socket所在的路径。
|
1
|
net.ipv6 |
boolean,默认为false
打开IPV6功能,默认为关闭的。
|
1
|
net.http.JSONPEnabled |
boolean,默认为false
运行json访问http端口,打开会导致更多的不安全因素。
|
1
|
net.http.RESTInterfaceEnabled |
boolean,默认为false
即使http接口选项关闭,打开也会暴露http接口,会导致更多的不安全因素。
4. security
|
1
|
security.keyFile |
string
指定分片集或副本集成员之间身份验证的key文件存储位置。
|
1
|
security.clusterAuthMode |
string
集群认证中利用到这个模式,如果使用x.509安全机制,可以在这里指定。
|
1
|
keyFile,sendKeyFile,sendX509,x509 |
默认的mongodb发行版是不支持ssl的,可以使用专业版的或重新自行编译mongodb。
|
1
|
security.authorization |
string,默认为disabled
打开访问数据库和进行操作的用户角色认证。
enabled,disabled
5. operationProfiling
|
1
|
operationProfiling.slowOpThresholdMs |
integer,默认100
指定慢查询时间,单位毫秒,如果打开功能,则向system.profile集合写入数据。
|
1
|
operationProfiling.mode |
integer,默认0
改变分析日志输出级别。
0,1,2,分别对应关闭,仅打开慢查询,记录所有操作。
6. storage
|
1
|
storage.dbPath |
string
指定数据文件的路径。
|
1
|
storage.directoryPerDB |
boolean,默认关闭
指定存储每个数据库文件到单独的数据目录。如果在一个已存在的系统使用该选项,需要事先把存在的数据文件移动到目录。
|
1
|
storage.indexBuildRetry |
boolean,默认为true
指定数据库在索引建立过程中停止,重启后是否重新建立索引。
|
1
|
storage.preallocDataFiles |
boolean,默认true
是否预先分片好数据文件。
|
1
|
storage.nsSize |
integer,默认16
指定命名空间的大小,即.ns后缀的文件。最大为2047MB,16M文件可以提供大约24000个命名空间。
|
1
|
storage.quota.enforced |
boolean,默认false
限制每个数据库的数据文件数目。可以通过maxFilesPerDB调整数目。
|
1
|
storage.quota.maxFilesPerDB |
integer,默认为8
限制每个数据库的数据文件数目。
|
1
|
storage.smallFiles |
boolean,默认为false
限制mongodb数据文件大小为512MB,减小journal文件从1G到128M,适用于有很多数量小的数据文件。
|
1
|
storage.syncPeriodSecs |
number,默认60
mongodb文件刷新频率,尽量不要在生产环境下修改。
storage.repairPath
string,默认为指定dbpath下的_tmp目录。
指定包含数据文件的根目录,进行--repair操作。
|
1
|
storage.journal.enabled |
boolean,默认64bit为true,32bit为false
记录操作日志,防止数据丢失。
|
1
|
storage.journal.debugFlags |
integer
提供数据库在非正常关闭下的功能测试。
|
1
|
storage.journal.commitIntervalMs |
number,默认为100或30
journal操作的最大间隔时间。可以是2-300ms之间的值,低的值有助于持久化,但是会增加磁盘的额外负担。
如果journal和数据文件在同一磁盘上,默认为100ms。如果在不同的磁盘上为30ms。
如果强制mongod提交日志文件,可以指定j:true,指定后,时间变为原来的三分之一。
7. replication
|
1
|
replication.oplogSizeMB |
integer,默认为磁盘的5%
指定oplog的最大尺寸。对于已经建立过oplog.rs的数据库,指定无效。
|
1
|
replication.replSetName |
string
指定副本集的名称。
|
1
|
replication.secondaryIndexPrefetch |
string,默认为all
指定副本集成员在接受oplog之前是否加载索引到内存。默认会加载所有的索引到内存。
none,不加载;all,加载所有;_id_only,仅加载_id。
8. sharding
|
1
|
sharding.clusterRole |
string
指定分片集的mongodb角色。
configsvr,配置服务器,端口27019;shardsvr,分片实例,端口27018。
|
1
|
sharding.archiveMovedChunks |
integer
在块移动过程中,该选项强制mongodb实例保存所有移动的文档到moveChunk目录。
9. auditLog
|
1
|
auditLog.destination |
string
syslog,以json格式保存身份验证到syslog,windows下不可用,serverity级别为info,facility级别为user。
console,以json格式输出信息到标准输出。
file,以json格式输出信息到文件。
|
1
|
auditLog.format |
string
指定输出文件的格式
JSON,输出json格式文件;BSON,输出bson二进制格式文件。
|
1
|
auditLog.path |
string
如果--auditDestination的值为file,则该选项指定文件路径。
|
1
|
auditLog.filter |
document
指定过滤系统身份验证的格式为:
|
1
2
|
{ atype : <expression> }{ atype: <expression>, "param.db": <database> } |
10. snmp
|
1
|
snmp.subagent |
boolean
运行SNMP为一个子代理。
|
1
|
snmp.master |
boolean
运行SNMP为一个主进程。
PS:
1.仅mongos选项
|
1
|
replication.localPingThresholdMs |
integer,默认15
当客户端选定副本集进行读操作时受影响。
|
1
|
sharding.autoSplit |
boolean
防止mongos自动在一个分片集合中插入元数据。
因为任何的mongos都可以创建一个分离,如果打开该选项,将会导致分片不平衡,需要谨慎使用。
|
1
|
sharding.configDB |
string
指定配置数据库。可以使用逗号分隔一到三个服务器。
如果处于不同的位置,需要指定最近的一个。
不能移除配置服务器,即使不可用或者离线了。
|
1
|
sharding.chunkSize |
integer,默认为64
每个块的大小。64MB是理想大小,小的会导致不能在不同节点间高效移动。
仅仅在初始化时有效。
2.Windows服务选项
|
1
|
processManagement.windowsService.serviceName |
string,默认为MongoDB
指定mongodb服务名称。可以使用--install,--remove增加或删除。
|
1
|
processManagement.windowsService.displayName |
string,默认为MongoDB
设置mongodb服务应用程序的名称。
|
1
|
processManagement.windowsService.description |
string,默认为MongoDB Server
结合--install,必须指定该选项的值。
|
1
|
processManagement.windowsService.serviceUser |
指定运行mongodb服务的用户
|
1
|
processManagement.windowsService.servicePassword |
指定运行mongodb服务的用户的密码
MongoDB配置文件YAML-based选项全解的更多相关文章
- Maven配置文件POM属性最全详解
注:本文内容来源于: BlueKitty1210 <Maven配置文件POM属性最全详解> <project xmlns="http://maven.apache.org/ ...
- Mybatis系列全解(四):全网最全!Mybatis配置文件XML全貌详解
封面:洛小汐 作者:潘潘 做大事和做小事的难度是一样的.两者都会消耗你的时间和精力,所以如果决心做事,就要做大事,要确保你的梦想值得追求,未来的收获可以配得上你的努力. 前言 上一篇文章 <My ...
- jQuery Mobile 所有class选项,开发全解+完美注释
全栈工程师开发手册 (作者:栾鹏) jQuery Mobile事件全解 jQuery Mobile 所有class选项 jQuery Mobile 所有data-*选项 jQuery Mobile 所 ...
- mongodb 配置文件
本文档是在mongodb为3.4下编写的,仅作为参考,详细内容请参考:https://docs.mongodb.com/manual/reference/configuration-options/# ...
- Latex排版全解
Latex排版全解 LATEX(英语发音:/ˈleɪtɛk/ LAY-tek或英语发音:/ˈlɑːtɛk/ LAH-tek,音译“拉泰赫”),是一种基于TEX的排版系统,由美国电脑学家莱斯利•兰伯特在 ...
- [转]Reids配置文件redis.conf中文详解
转自: Reids配置文件redis.conf中文详解 redis的各种配置都是在redis.conf文件中进行配置的. 有关其每项配置的中文详细解释如下: 对应的中文版解释redis.conf # ...
- MongoDB——理论及使用命令详解 数据库
数据存储阶段 文件管理阶段(.txt .doc .xls) 优点: 1 使用简单,展现直观 2 可以长期保存数据 3 可存储数据量比较大 缺点: 1 查找不方便, 2 容易造成数据冗余, 3 格式不 ...
- [转帖]Linux学习笔记之rpm包管理功能全解
Linux学习笔记之rpm包管理功能全解 https://www.cnblogs.com/JetpropelledSnake/p/11177277.html rpm 的管理命令 之前学习过 yum 的 ...
- delphi文件后缀全解
delphi文件后缀全解 1. 项目文件(.dpr):Delphi项目文件,用于保存窗体.单元等的信息,以及程序运行的初始化代码等,这种文件实际上包含了Pascal源代码. 2. 单元文件(.pas) ...
随机推荐
- OC第四节——NSDictionary和NSMutableDictionary
NSDictionary 1.什么是字典 字典是也是一种集合结构,功能与我们现实中的字典工具一样 2.字典的元素是什么 任意类型的对象地址构成键值对 3. ...
- SqlServer中字符串和日期类型的转换
SQL Server Date 函数 定义和用法 CONVERT() 函数是把日期转换为新数据类型的通用函数. CONVERT() 函数可以用不同的格式显示日期/时间数据. 语法 CONVERT(da ...
- git之常用指令
参考:Git教程 - 廖雪峰的官方网站 1.git //linux上检测是否安装git 2.sudo apt-get install git //linux上安装git 3.git config - ...
- 使用APPCAN开发移动应用APP心得
要想使用APPCAN开发移动应用,首先要弄明白什么是APPCAN,APPCAN都具有哪些功能. 1.什么是APPCAN? APPCAN是正益无线公司开发的一套Hybrid混合应用开发平台(AppCan ...
- MySQL Python教程(3)
Class cursor.MySQLCursor 具体方法和属性如下:Constructor cursor.MySQLCursorMethod MySQLCursor.callproc(procnam ...
- Maven的依赖范围
Maven的依赖构件包含一个依赖范围属性,这个属性描述的是三套classpath的控制,即编译.测试.运行. 举个例子Junit依赖只是在测试范围(classpath)使用,而在运行的时候不使用,还有 ...
- 深入理解Java虚拟机之读书笔记四 性能监控与故障处理工具
JDK的bin目录下存在很多有效的命令行工具,它们就是jdk\lib\toos.jar类库的封装. 一.jps:虚拟机进程状况工具,查询出LVMID. 二.jstat:虚拟机统计信息监视工具, 三.j ...
- python 字节与字符串转换
name = 'laogaoyang' nameBytes = name.encode('utf-8') # 字节 nameStr = nameBytes.decode('utf-8')# 字符串 p ...
- centos7 & mysql
首先centos7很坑爹. 其次,在centos7上安装mysql更坑爹. 特此记录一次坑爹历程后的唯一出路. 安装mysql wget http://repo.mysql.com/mysql-com ...
- centos 6.5 下用apache部署web 应用
1. 修改/etc/httpd/conf/httpd.conf文件,添加一个virtualhost段,具体略.注意在段内配置NaveServer. 此文件全局也要配置一个NameServer(原因有待 ...