mongodb 集群配置文件
本文档是在mongodb为3.4下编写的,仅作为参考,详细内容请参考:https://docs.mongodb.com/manual/reference/configuration-options/#configuration-file
一.说明
配置mongodb有两种方式,一种是通过mongod和mongos两个命令;另外一种方式就是配置文件的方式。因为更容易去管理,所以后者更受大家的青睐。
二. 配置文件格式
mongodb 配置文件采用的YAML格式;
例如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
systemLog: destination: file path: "/var/log/mongodb/mongod.log" logAppend: true storage: journal: enabled: true processManagement: fork: true net: bindIp: 127.0.0.1 port: 27017 setParameter: enableLocalhostAuthBypass: false |
三 使用配置文件
通过mongod和mongos命令去执行配置文件,这里要使用他们的一个选项--config(这里是两个横线,具体查看 > mongod --help)或者-f(--config的简写)
例如:
1
2
3
|
mongod --config D:/mongodb/mongod.conf mongos --config D:/mongodb/mongos.conf |
或
1
2
3
|
mongod -f D:/mongodb/mongod.conf mongos -f D:/mongodb/mongos.conf |
四 配置文件的核心选项
1. systemLog 选项
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
systemLog: verbosity: < int > quiet: <boolean> traceAllExceptions: <boolean> syslogFacility: < string > path: < string > logAppend: <boolean> logRotate: < string > destination: < string > timeStampFormat: < string > component: accessControl: verbosity: < int > command: verbosity: < int > |
systemLog.traceAllExceptions
类型:boolean
作用: 为调试打印详细信息,用于支持相关的故障排除。
systemLog.syslogFacility
类型:string
默认值:user
作用:将mongodb使用日志记录到系统日志中,如果要使用这个选项,必须开启--sysylog选项
systemLog.path
类型:string
作用:指定日志文件的目录
syetemLog.logAppend
类型:boolean
默认值:False
作用:当mongod或mongos重启时,如果为true,将日志追加到原来日志文件内容末尾;如果为false,将创建一个新的日志文件
systemLog.destination
类型:string
作用:指定日志文件的路径,如果设置了这个值,必须指定systemLog.path.如果没有设置,日志会标准的输出到后台
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 | 按照iso8601-local格式显示:1969-12-31T19:00:00.000-0500 |
processMangement 选项
1
2
3
|
processManagement: fork: <boolean> pidFilePath: < string > |
processMangement.fork
类型:Boolean
默认值:False
作用:在前台启动Mongodb进程,如果Session窗口关闭,Mongodb进程也随之停止。不过Mongodb同时还提供了一种后台Daemon方式启动,只需要加上一个"--fork"参数即可,值得注意的是,用到了"--fork"参数就必须启用"--logpath"参数。如下所示:
1
2
3
4
5
|
[root@localhost mongodb]# ./bin/mongod --dbpath=data/db --fork --fork has to be used with --logpath [root@localhost mongodb]# ./bin/mongod --dbpath=data/db --fork --logpath=log/mongodb.log all output going to: /opt/mongodb/log/mongodb.log forked process: 3300 |
daemon方式启动的fork参数也可以配置配置文件中,如下所示:
1
2
3
4
5
|
port=27017 dbpath=data/db logpath=log/mongodb.log logappend= true fork= true |
net 选项
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
|
net: port: < int > bindIp: < string > maxIncomingConnections: < int > wireObjectCheck: <boolean> ipv6: <boolean> unixDomainSocket: enabled: <boolean> pathPrefix: < string > filePermissions: < int > http: enabled: <boolean> JSONPEnabled: <boolean> RESTInterfaceEnabled: <boolean> ssl: sslOnNormalPorts: <boolean> # deprecated since 2.6 mode: < string > PEMKeyFile: < string > PEMKeyPassword: < string > clusterFile: < string > clusterPassword: < string > CAFile: < string > CRLFile: < string > allowConnectionsWithoutCertificates: <boolean> allowInvalidCertificates: <boolean> allowInvalidHostnames: <boolean> disabledProtocols: < string > FIPSMode: <boolean> compression: compressors: < string > |
net.port
类型:integer
默认值:27017
作用:设置mongodb的监听TCP端口
net.bindIp
类型:string
作用:设置mongodb服务器监听ip地址,默认是127.0.0.1;如果监听多个ip地址,使用逗号隔开
net.maxIncomingConnections
类型:integer
默认值:65536
作用:最大并发链接数
net.ipv6
类型:boolean
默认值:false
作用:开启或关闭支持ipv6地址;
security 选项
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
|
security: keyFile: < string > clusterAuthMode: < string > authorization: < string > transitionToAuth: <boolean> javascriptEnabled: <boolean> redactClientLogData: <boolean> sasl: hostName: < string > serviceName: < string > saslauthdSocketPath: < string > enableEncryption: <boolean> encryptionCipherMode: < string > encryptionKeyFile: < string > kmip: keyIdentifier: < string > rotateMasterKey: <boolean> serverName: < string > port: < string > clientCertificateFile: < string > clientCertificatePassword: < string > serverCAFile: < string > ldap: servers: < string > bind: method: < string > saslMechanisms: < string > queryUser: < string > queryPassword: < string > useOSDefaults: <boolean> transportSecurity: < string > timeoutMS: < int > userToDNMapping: < string > authz: queryTemplate: < string > |
....查看mongodb手册 #security选项
setParameter 选项
设置mongodb参数,查看参数列表
采用YAML语言格式
1
2
3
|
setParameter: <parameter1>: <value1> <parameter2>: <value2> |
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
|
storage: dbPath: < string > indexBuildRetry: <boolean> repairPath: < string > journal: enabled: <boolean> commitIntervalMs: <num> directoryPerDB: <boolean> syncPeriodSecs: < int > engine: < string > mmapv1: preallocDataFiles: <boolean> nsSize: < int > quota: enforced: <boolean> maxFilesPerDB: < int > smallFiles: <boolean> journal: debugFlags: < int > commitIntervalMs: <num> 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(window系统)
作用:设置数据存储文件目录
storage.indexBuildRetry
类型:boolean
默认值:true
作用:开启或关闭是否在mongod下次启动重建不完整的索引。
注:在in-memory存储引擎下不可用
storage.repairPath
类型:string
默认值:在dbpath下的A _tmp_repairDatabase_<num>
文件目录
作用:为进行恢复操作指定目录
注意:仅仅在MMAPv1存储引擎下可用
storage.journal.enabled
类型:boolean
默认值:true(64-bit系统);false(32-bit系统)
作用:开启和关闭journal,为了保证数据文件的有效性和可恢复性;在设置了dbpath之后有效
注:在in-memory存储引擎下不可用
storage.directoryPerDB
类型:boolean
默认值:false
作用:当为true,mongodb为每个数据库建立一个单独的路径,这个路径是在dbpath下创建的;每次创建需要重启服务器
注:在in-memory存储引擎下不可用
storage.engine
默认值:wiredTiger
作用:这是数据存储引擎
值 | 描述 |
MMAPV1 | MMAPCV1 storage engine |
wiredTiger | WiredTiger Storage Engine. |
inMemory | In-Memory Storage Engine. |
storage.mmapv1 选项
1
2
3
4
5
6
7
8
9
10
11
|
storage: mmapv1: preallocDataFiles: <boolean> nsSize: < int > quota: enforced: <boolean> maxFilesPerDB: < int > smallFiles: <boolean> journal: debugFlags: < int > commitIntervalMs: <num> |
storage.mmapv1.preallocDataFiles
类型:boolean
默认值:true
作用:开启或关闭数据文件的预分配;
storage.mmapv1.quota.enforced
类型:boolean
默认值:false
作用:开启或关闭每个数据库中的数据文件个数的限额;默认是每个数据库最多有8个数据文件,通过调整storage.mmapv1.quota.maxFilesPerDB
storage.mmapv1.quota.maxFilesPerDB
类型:integer
默认值:8
作用:设置每个数据库中数据文件的限制个数;
storage.wiredTiger 选项
1
2
3
4
5
6
7
8
9
10
|
storage: wiredTiger: engineConfig: cacheSizeGB: <number> journalCompressor: < string > directoryForIndexes: <boolean> collectionConfig: blockCompressor: < string > indexConfig: prefixCompression: <boolean> |
storage.wiredTiger.engineConfig.cacheSizeGB
类型:float
作用:设置缓存大小,从3.4版本开始,内存的50%-1GB 和256MB的最大值
storage.wriedTiger.engineConfig.journalCompressor
默认值:snappy
作用:设置journal压缩方式;可选项:none/snappy/zlib
storage.inmemory 选项
1
2
3
4
|
storage: inMemory: engineConfig: inMemorySizeGB: <number> |
storage.inmemory.engineConfig.inMemorySizeGB
类型:float
默认值:物理内存的50%-1GB
作用:设置缓冲区大小;
opeartionProfiling 选项
1
2
3
|
operationProfiling: slowOpThresholdMs: < int > mode: < string > |
opeartionProfiling.slowOpThresholdMs
类型:integer
默认值:100
作用:设置区分慢查询的一个阈值,比如100,当查询速度大于100ms,记录到日志中
operationProfiling.mode
类型:string
默认值:off
replication 选项
1
2
3
4
5
|
replication: oplogSizeMB: < int > replSetName: < string > secondaryIndexPrefetch: < string > enableMajorityReadConcern: <boolean> |
replication.oplogSizeMB
类型:integer
作用:设置复制日志文件的大小;
sharding 选项
1
2
3
|
sharding: clusterRole: < string > archiveMovedChunks: <boolean> |
sharding.clusterRole
类型:string
作用:设置分片集群中的角色;
值 | 描述 |
configsvr | 作为配置服务器,默认端口27019 |
shardsvr | 作为一个分片,默认端口27018 |
auditLog 选项 (MongoDB Enterprise可用)
1
2
3
4
5
|
auditLog: destination: < string > format: < string > path: < string > filter: < string > |
auditLog.destination
类型:string
作用:审计日志位置;
值 | 描述 |
syslog | JSON文件格式输出在系统日志中,window系统中不可用 |
console | JSON格式输出 |
file | 输出到文件 |
auditLog.format
类型:string
作用:设置设计日志输出格式;可用值:JSON/BSON
auditLog.path
类型:string
作用:设计日志输出文件路径
类型:string
作用:审计日志过滤器
格式:{ <field1>: <expression1>, ... }
转载自:https://www.cnblogs.com/phpandmysql/p/7763394.html
mongodb 集群配置文件的更多相关文章
- Docker MongoDB 集群搭建
简单地在Docker环境上搭建一个无认证的MongoDB集群.1.本文使用的容器集群角色 ContainerName IP:portConfig Server cfg_1 10.1.1.2:27 ...
- MongoDB集群架构及搭建
MongoDB分布式集群 MongDB分布式集群能够对数据进行备份,提高数据安全性,以及提高集群提高读写服务的能力和数据存储能力.主要通过副本集(replica)对数据进行备份,通过分片(shardi ...
- MongoDB集群
高可用的MongoDB集群 1.序言 MongoDB 是一个可扩展的高性能,开源,模式自由,面向文档的数据库. 它使用 C++编写.MongoDB 包含一下特点: l 面向集合的存储:适合存储 ...
- MongoDB集群与LBS应用系列(一)
MongoDB集群与LBS应用系列(一) 1. 概念 MongoDB作为著名的NoSQL,早已非常流行.它的地理应用也非常成熟,被foursquare用于生产环境也已经多时.本文主要记录今年6月份的一 ...
- MongoDB集群搭建-副本集
MongoDB集群搭建-副本集 概念性的知识,可以参考本人博客地址: 一.Master-Slave方案: 主从: 二.Replica Set方案: 副本集: 步骤:(只要按步骤操作,100%成功) 1 ...
- Mongodb集群【三】
Mongodb常用三种集群 1 主从(Master/Slave) 不推荐,但是mongodb依然保留有.一主多从,不支持链式结构.简单主从,没有裁仲者不能自动恢复. 2 副本集(Relica Set) ...
- 高可用的MongoDB集群
1.序言 MongoDB 是一个可扩展的高性能,开源,模式自由,面向文档的数据库. 它使用 C++编写.MongoDB 包含一下特点: l 面向集合的存储:适合存储对象及JSON形式的数据. l ...
- centos7下安装部署mongodb集群(副本集模式)
环境需求:Mongodb集群有三种模式: Replica Set, Sharding,Master-Slaver. 这里部署的是Replica Set模式. 测试环境: 这里副本集(Replica ...
- MongoDB集群运维笔记
前面的文章介绍了MongoDB副本集和分片集群的做法,下面对MongoDB集群的日常维护操作进行小总结: MongDB副本集故障转移功能得益于它的选举机制.选举机制采用了Bully算法,可以很方便从分 ...
随机推荐
- hdu 1022 Train Problem I【模拟出入栈】
Train Problem I Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- ArcGIS JS 使用Proxy之 Printing Tools unable to connect to mapServer
ArcGIS JS使用Proxy.ashx将地图服务隐藏,并在微博服务器端增加了地图服务权限判断. Proxy.ashx做了如下设置, <serverUrl url="http://l ...
- robotframework_javaScript定位
整理笔记才发现,只有在rebotframework才用过js定位,那么如果有小伙伴在使用js遇到问题,给我留言吧 通过Id定位 name定位 通过标签名查找 HTML 元素 本例查找 id=&qu ...
- OAuth2实现原理
现在开放平台非常流行,例如微信开放平台.微博开放平台等,开放平台都涉及用户授权问题,OAuth2就是目前的主流授权解决方案 OAuth2是什么 OAuth(Open Authorization,开放授 ...
- 使用springboot实现一个简单的restful crud——03、前端页面、管理员登陆(注销)功能
前言 这一篇我们就先引入前端页面和相关的静态资源,再做一下管理员的登陆和注销的功能,为后续在页面上操作数据做一个基础. 前端页面 前端的页面是我从网上找的一个基于Bootstrap 的dashboar ...
- springboot笔记09——使用aop
什么是AOP? aop(Aspect Oriented Programming)面向切面编程,是OOP(Object-Oriented Programing,面向对象编程)的补充和完善.OOP引入封装 ...
- PHP基础之输出缓冲区基本概念、原理分析
一.概念 在PHP运行的过程中,可以将会产生输出的函数或操作结果暂时保存在PHP的缓冲区,只有当缓冲区满了.或者PHP运行完毕.或者在必要时候进行输出,才会将数据输出到浏览器,此缓冲数据的区域称为PH ...
- idea中添加web.xml配置文件与tomcat启动中遇到的web.xml文件找不到的问题
1,如何在idea中向war项目中添加web.xml的配置文件 idea通过maven创建war项目时没有指定是webapp导致创建出来的项目没有webapp的文件夹.其实war项目中都是在" ...
- linux一些配置
ifconfig 查询.设置网卡和ip参数 ifup ens33 启动网卡 ifdown 关闭网卡 systemctl restart/start/stop network 重启.开始.关闭 网络服务 ...
- P1169 [ZJOI2007]棋盘制作[悬线法/二维dp]
题目描述 国际象棋是世界上最古老的博弈游戏之一,和中国的围棋.象棋以及日本的将棋同享盛名.据说国际象棋起源于易经的思想,棋盘是一个8 \times 88×8大小的黑白相间的方阵,对应八八六十四卦,黑白 ...