接手的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. 【EF6学习笔记】(九)异步处理和存储过程

    本篇原文:Async and Stored Procedures 为何要采用异步? 一个Web服务器肯定有可用线程的限制,那么在一些访问量特别大的情况下,线程肯定会消耗完:这个时候服务器肯定处理不了请 ...

  2. 痞子衡嵌入式:让你从此高效写作的轻量级标记语言(Markdown)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是轻量级标记语言Markdown. 1.假如你有过这样的烦恼? 想写出排版优雅简洁的文章,并且能够轻易地发表(连同文字和排版)到各大网站上 ...

  3. 浅谈Quartz定时任务调度

    一  开发概述 对于具有一定规模的大多数企业来说,存在着这样一种需求:存在某个或某些任务,需要系统定期,自动地执行,然而,对大多数企业来说,该技术的实现,却是他们面临的一大难点和挑战.  对于大部分企 ...

  4. 基于SpringMVC+Spring+MyBatis实现秒杀系统【客户端交互】

    前言 该篇主要实现客户端和服务的交互.在第一篇概况里我已经贴出了业务场景的交互图片. 客户端交互主要放在seckill.js里来实现.页面展现基于jsp+jstl来实现. 准备工作 1.配置web.x ...

  5. vue_drf之视频接口

    一.vue-video 1,安装依赖 npm install vue-video-player --save 2,main.js文件中加载组件 require('video.js/dist/video ...

  6. 关于EF中出现FOREIGNKEY约束可能会导致循环或多重级联路径的问题

    ef中,我们创建外键的时候需要注意,否则会出现标题所示问题. 例:有项目表,项目收藏表,用户表 项目表有如下字段:ProjectId,InputPersonId等 项目收藏表有如下字段:Project ...

  7. dotnetcore-officeaddin-toolbox : Office 365 Add-in开发人员的工具箱

    在上一篇文章(.NET Core开源行动:一键创建Excel Add-in) 中我给大家展示了一套为Office 365 Add-in开发人员准备的模板库,你可以通过 dotnet new excel ...

  8. [nodejs] nodejs开发个人博客(五)分配数据

    使用回掉大坑进行取数据 能看明白的就看,看不明白的手动滑稽 /** * 首页控制器 */ var router=express.Router(); /*每页条数*/ var pageSize=5; r ...

  9. mysql5.7 datetime 默认值为‘0000-00-00 00:00:00'值无法创建问题解决

    mysql5.7 datetime 默认值为‘0000-00-00 00:00:00'值无法创建问题解决

  10. redirection in linux

    2>&1 # Redirects stderr to stdout. # Error messages get sent to same place as standard output ...