接手的MongoDB只有一个日志文件,体积非常大,排错不便。在找解决办法的时候发现MongoDB的启动文件配置项超级多,于是产生了解释配置参数的想法。

mongod服务有两种启动方式

一种是通过配置文件  $ ./mongod -f /app/mongodb/mongodb27017/conf/mongodb.conf

一种直接指明参数   $./mongod --dbpath=/app/mongodb/db --port=27017 --fork --logpath=/app/mongodb/db/mongodb.log

由于安装文件没有默认的配置文件,需要配置的参数项又比较多,推荐使用配置文件的方式启动服务。下面详细介绍配置

storage:
dbPath: "/data/mongodb/data” #数据目录
directoryPerDB: true #将不同DB的数据分子目录存储,基于dbPath,默认为 false
engine: “wiredTiger" #存储引擎,3.2后默认wiredTiger 可选 mmapv1
wiredTiger:
engineConfig:
cacheSizeGB: #Mongodb吃内存,并且不会主动释放,默认的缓存大小为max(/2maxmem,256M),可参照系统总内存进行设置。
journalCompressor: snappy #journal日志的压缩算法,可选值为“none”、“snappy”、“zlib”。压缩差别可百度,总体来说snappy最合适。
directoryForIndexes: true #是否将索引和collections数据分别存储在dbPath单独的目录中。默认值为false,放在一个目录。
collectionConfig:
blockCompressor: snappy #collection数据压缩算法,可选值“none”、“snappy”、“zlib”
indexConfig:
prefixCompression: true #是否对索引数据使用“前缀压缩” ,对那些经过排序的值存储,可以减少索引数据的内存使用量。默认值为true。
journal:
enabled: true #是否开启journal日志持久存储,journal日志用来数据恢复,是mongod最基础的特性,通常用于故障恢复。
commitIntervalMs: #New in version 3.2. 日志提交间隔
systemLog:
destination: file #日志输出目的地,可为 file 或 syslog; if file, you must also specify systemLog.path
path: "/var/log/mongodb/mongodb.log"
logAppend: true #启动或重启后是否追加写入
logRotate: rename #防止一个日志文件特别大,可选项:rename(重命名日志文件,默认值);reopen(使用linux日志rotate特性,关闭并重新打开此日志文件,可以避免日志丢失,但是logAppend必须为true)
timeStampFormat: ctime #时间格式 默认为 iso8601-local
replication:
oplogSizeMB:
replSetName: getui-bi
enableMajorityReadConcern: false
processManagement:
fork: true #守护进程模式启动,默认 false
pidFilePath: "/var/run/mongodb/mongod.pid” #配合"fork:true"参数,将mongod/mongos进程ID写入指定的文件,如果不指定,将不会创建PID文件
net:
bindIp: 127.0.0.1
port:
ipv6: false #是否支持mongos/mongod多个实例之间使用IPV6网络,默认值为false。此值需要在整个cluster中保持一致。
maxIncomingConnections: #进程允许的最大连接数,默认:
wireObjectCheck : false #当客户端写入数据时,mongos/mongod是否检测数据的有效性(BSON),如果数据格式不良,此insert、update操作将会被拒绝;默认值为true
unixDomainSocket:
enabled : true
security:
keyFile: /opt/mongodb/etc/mongodb-keyfile #指定分片集或副本集成员之间身份验证的key文件存储位置。
authorization: enabled #打开访问数据库和进行操作的用户角色认证

回到写这篇博客的原因,Mongodb的日志量较大,可通过上述rename的方式进行日期分类,也可设置日志级别和安静模式,使日志量减小。

systemLog:         #系统日志配置
   verbosity: <int> #日志级别,0:默认值,包含“info”信息,1~5,即大于0的值均会包含debug信息
   quiet: <boolean>  #"安静",此时mongod/mongos将会尝试减少日志的输出量。不建议在production环境下开启,否则将会导致跟踪错误比较困难。 
 
 
 

MongoDB启动文件配置参数详解的更多相关文章

  1. mha配置参数详解

    mha配置参数详解: 参数名字 是否必须 参数作用域 默认值 示例 hostname Yes Local Only - hostname=mysql_server1, hostname=192.168 ...

  2. reids配置参数详解

    转自:http://www.jb51.net/article/60627.htm reids配置参数详解 #daemonize no  默认情况下, redis 不是在后台运行的,如果需要在后台运行, ...

  3. Redis配置参数详解

    Redis配置参数详解 /********************************* GENERAL *********************************/ // 是否作为守护进 ...

  4. MHA配置参数详解 【转】

    mha配置参数详解: 参数名字 是否必须 参数作用域 默认值 示例 hostname Yes Local Only - hostname=mysql_server1, hostname=192.168 ...

  5. zookeeper的配置参数详解(zoo.cfg)

    配置参数详解(主要是%ZOOKEEPER_HOME%/conf/zoo.cfg文件) 参数名 说明 clientPort 客户端连接server的端口,即对外服务端口,一般设置为2181吧. data ...

  6. HAproxy 配置参数详解

    HAproxy 配置参数详解 /etc/haproxy/haproxy.cfg # 配置文件 ----------------------------------------------------- ...

  7. samba 配置参数详解

    samba 配置参数详解: 一.全局配置参数  workgroup = WORKGROUP说明:设定 Samba Server 所要加入的工作组或者域. server string = Samba S ...

  8. [转帖]持久化journalctl日志清空命令查看配置参数详解

    持久化journalctl日志清空命令查看配置参数详解 最近 linux上面部署服务 习惯使用systemd 进行处理 这样最大的好处能够 使用journalctl 进行查看日志信息. 今天清理了下 ...

  9. nginx配置参数详解

    配置参数详解 user nginx nginx ; Nginx用户及组:用户 组.window下不指定 worker_processes 8; 工作进程:数目.根据硬件调整,通常等于CPU数量或者2倍 ...

随机推荐

  1. Linux常用命令之链接命令和权限管理命令

    目录 1.链接命令 一.生成链接文件命令:ln 2.权限管理命令3.总结 一.更改文件或目录权限命令:chmod 二.改变文件或目录所有者命令:chown 三.改变文件或目录所属组命令:chgrp 四 ...

  2. Mysql的跨表更新

    本文介绍mysql多表 update在实践中几种不同的写法. 假定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Price:另外一张表是ProductPrice表,我们要将Pro ...

  3. 【学习笔记】node.js重构路由功能

    摘要:利用node.js模块化实现路由功能,将请求路径作为参数传递给一个route函数,这个函数会根据参数调用一个方法,最后输出浏览器响应内容 1.介绍 node.js是一个基于Chrome V8引擎 ...

  4. Android Handler 机制总结

    写 Handler 原理的文章很多,就不重复写了,写不出啥新花样.这篇文章的主要是对 handler 原理的总结. 1.Android消息机制是什么? Android消息机制 主要指 Handler ...

  5. python面向对象学习(六)类属性、类方法、静态方法

    目录 1. 类的结构 1.1 术语 -- 实例 1.2 类是一个特殊的对象 2. 类属性和实例属性 2.1 概念和使用 2.2 属性的获取机制 3. 类方法和静态方法 3.1 类方法 3.2 静态方法 ...

  6. python面向对象学习(二)基本语法

    目录 1. dir内置函数 2. 定义简单的类(只包含方法) 2.1 定义只包含方法的类 2.2 创建对象 2.3 编写第一个面向对象程序 3. 方法中的self参数 3.1 案例改造 -- 给对象添 ...

  7. Docker 系列二(操作镜像).

    一.镜像管理 1.拉取镜像 docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签] -- Docker 镜像仓库地址 :一般是 域名或者IP[:端口号 ...

  8. MongoDB复合索引详解

    摘要: 对于MongoDB的多键查询,创建复合索引可以有效提高性能. 什么是复合索引? 复合索引,即Compound Index,指的是将多个键组合到一起创建索引,这样可以加速匹配多个键的查询.不妨通 ...

  9. 关于 Socket 设置 setSoTimeout 误用的说明

    做网络开发的想必对setSoTimeout这个方法很熟悉,知道是设置的超时事件.但是很多人都认为这个是设置链路的超时时间,但是查看相关文档的此方法的说明: HttpConnectionParams: ...

  10. Spring声明式事务配置

    1.首先在/WEB-INF/applicationContext.xml添加以下内容: <!-- 配置事务管理器 --> <bean id="transactionMana ...