mongod.conf,版本3.2,个人英语能力有限,结合翻译软件,大致翻译如下:

## 日志选项

  

systemLog:

  verbosity: <int> 

  # 默认是0 ,1到5的增长代表了,错误信息的描述程度,数越大,描述越详细

  quiet: <boolean>     

  #这个后面要写1,不建议在生产模式开启这个参数。这个后跟布尔值,进入mongo时是否会系那是相应的登陆信息,最好是让他可以提供你登录的时候会显示的信息,这样有利于规避错误 

  

  traceAllExceptions: <boolean>   

  #这个建议在后面写1,可以在错误调试信息里面显示的内容更加详细,有利于帮助解决服务问题

  

  syslogFacility: <string>  

  #这个后面默认跟字符串,官网上说后面跟user,我不知道这个事user,还是具体那个用户;这个值的设定关乎日志级别,并且这个值的设定必须是你的系统里面支持的日志系统,最重要的一点就是如果使用这个参数,一定要在mongod执行的时候加上--syslog选项

  

  path: <string>  

  #后面跟日志文件的绝对路径,最好默认不变。linux初始化脚本不希望去改变它的位置;如果改了,需要用你自己的初始化脚本,然后关闭内置的脚本

  

  logAppend: <boolean>   

  #默认后面跟false,关闭状态。如果是1开启的状态,mongod实例重启的时候,新的日志信息会写到日志文件的后面;如果是0的状态,那么当你重启实例的时候,他会备份就得日志文件,新建一个从新写入

  

  logRotate: <string>    

  #它的后面可以跟两个值中的一个,rename或者是reopen。rename重命名日志文件;reopen,重启日志文件,使用linux上的轮训日志,用来防止日志的丢失。重点在这,如果你要是使用了reopen,那么你还要设置logappend:true

  

  destination: <string>   

  #默认后面为file,这个参数的意思是说mongodb把自己的日志信息是传输到哪里,如果不选file的话,你还可以选择syslog,这个的意思是把mongo的日志信息和系统信息交融在一块儿,没事儿别给自己添麻烦

  

  timeStampFormat: <string>  

  #时间戳格式,默认为iso8601-local(这个意思是说从1969,12,31到现在过了多少秒)后面跟三个参数中的一个ctime(会显示出Wed Dec 31 18:17:54.811);iso8601-utc,

  

  component:  

#这个在这就是个格式,跟下面的是相连接的

accessControl:

verbosity: <int>   

  #默认后面是0,这个也是0-5选一个数字,显示的是组件控制信息日志的详细程度

  

  command:

  verbosity: <int>  

  #默认也是0,关于命令的信息日志的详细级别

  

  control:

  verbosity: <int>   

  #控制操作

  

  geo

  verbosity: <int>    

  #地理空间日志相关操作

  

  index

  verbosity:<int>    

  #索引操作

  

  network

  verbosity:<int>     

  #网络操作

  

  query

verbosity:<int>   

#查询操作日志级别

  

  replication

verbosity:<int>   

#复制集相关的

  

  sharding

verbosity:<int>   

#分片

storage

verbosity:<int>   

#存储相关日志   如果systemLog.component.storage.journal.verbosity没有设值(也就是下面的那个没有设置)那么这个参数也适用于下面的参数值,也就是说没有特殊要求,定义到这一步就可以了

   

journal

verbosity:<int>    

#组件日志

write

verbosity:<int>     

#写操作日志

#进程选项

processManagement:

fork           

#布尔值,默认是0关闭,  在后台打开一个默认的守护进程,默认情况下是不启动的,但是再生产使用环境下,还是打开

pidFilePath  

#后跟mongod.pid的绝对路径,用于存放进程id, 这个可以跟踪进程结合--fork选项,当然你要首先开启fork后台才行

#网络选项

net:

port: <int>      

#默认为27017

   

bindIp: <string>       

#默认是127.0.0.1  如果有多个ip的话用都好隔开,不可以有空格,如果允许外网登陆可以设置成0.0.0.0 

   

maxIncomingConnections: <int>   

#默认值是65536,服务能够达到的最大并发量,可以调高这个值,及时它超过了你的系统实际能够达到的值;但是如果你在集群的过程里,可以通过设置一个较低的值,

#但是在有很多mongo集群响应(客户端响应超时而不关闭请求)的这种情况下,设置maxIncomingConnections值略高于客户端创建的最大连接数,或连接池的最大大小,可以不用因为某一客户端请求超时而关闭它

#这个值的设置,可以避免连接峰值造成的个人碎片,这些碎片存在的话会影响分片集群过程中的系统性能和内存分配

   

wireObjectCheck: <boolean>   

#默认后面跟true,实例验证客户端所有的请求,以防止客户端不正当的插入畸形和无效的BSON语句到数据库

   

ipv6: <boolean>       

#默认跟false,不开启ipv6

   

unixDomainSocket:     

 

 enabled: <boolean>     

# 默认为true ,   启用监听套接字,当开通了这个值之后,mongos和mongod监听在套接字

#这个值设值为true,是套结字的,但是如果出现以下情况将会失效:

#net.unixDomainSocket.enabled is false  

#--nounixsocket    这个是命令行里的参数,这个命令行里的参数是比配置文件里的参数更有效

#net.bindIp没有被设置,或者这个没有被指定127.0.0.1,rpm包安装现在已经默认设定net.bindIp参数为127.0.0.1

 pathPrefix: <string>   

#默认是/tmp    套接字的存放路径,如果这个参数没有设置,那么服务将自动在/tmp目录下创建套接字存放文件

 

 filePermissions: <int>   

#默认为0700 套接字文件的权限

   

http:         

#首先说一下设置这个http相应状态(设置了rest  API 或者JSON API)是不能阻止在生产环境下的潜在的数据暴露和外来***,这样设置并不安全

 

 enabled: <boolean>   

#默认为false,关闭状态。开启需谨慎,增加网络***点。虽然MongoDB企业确实支持Kerberos身份验证,在HTTP状态接口不支持Kerberos MongoDB的任何版本。

 

 JSONPEnabled: <boolean>  

#默认为false,启用或禁用JSONP通过HTTP访问接口。只针对mongod设置。使界面可以增加网络曝光。net.http.JSONPEnabled选项允许HTTP接口,即使HTTP接口选项是禁用的

 

 RESTInterfaceEnabled: <boolean>  

#默认为false.启用或禁用简单的REST API。只针对mongod设置。支持REST API允许HTTP接口,即使HTTP接口选项被禁用,因此可以增加网络曝光。

   

ssl:

 sslOnNormalPorts: <boolean>  

# deprecated since 2.6  默认情况下是0禁用的 2.6版本钱不要用,是否开启ssl

 

 mode: <string>      

#后可以跟以下几个模式:

#disabled 服务不用tls/ssl

#allowSSL 服务之间的链接不适用tls/ssl.在进入的链接单重服务接受所有的ssl/tls 和非ssl/tls链接

#preferSSL 使用TLS / SSL服务器之间的连接。传入的连接,服务器接受非TLS/SSL和  TLS/SSL 的链接

#requireSSL 服务器使用和只接受TLS/SSL加密连接

 

 PEMKeyFile: <string>     

#.pem文件,包函tls/ssl证书和秘钥。   .pem文件可以使相对路径也可以是绝度路径,建议是绝对的,容易查看

 

 PEMKeyPassword: <string>    

#密码de-crypt证书密钥文件(例如PEMKeyFile)。使用net.ssl。PEMKeyPassword选项只有在证书密钥文件是加密的。在所有情况下,蒙戈或mongod将从所有的日志编辑密码和报告输出

#如果私钥在PEM文件是加密的,你不指定net.ssl。PEMKeyPassword选项,蒙戈或mongod会提示输入密码

 

 clusterFile: <string>  

#.pem文件包含x.509证书密钥文件为会员身份验证集群或副本集

#如果net.ssl.clusterFile不指定.pem文件为集群内部身份验证、集群使用.pem文件中指定PEMKeyFile设置

 

 clusterPassword: <string>

# de-crypt密码指定.x509证书密钥文件;只有证书密钥文件是加密的才使用这个参数,总而言之,服务会将所有记录和输出加密

#如果.x509文件是加密的,而你没有指定这个参数的话,mongod和mongos服务会提示输入密码

 

 CAFile: <string>   

#.pem 证书文件,指定证书文件,使用绝对和相对路径。如果这个路径没有被指定,那么这个.x509用户身份认证将会失效

# mongod和mongos服务是分片系统,无法验证链接构成是否是有信任的证书办法机构

#如果没有指定CA证书,.x509省份验证将不会有效

 

 CRLFile: <string>      

# .pem文件包函证书撤销列表

 

allowConnectionsWithoutCertificates: <boolean>    

# 启用或禁用TLS / SSL证书的要求验证CAFile支持,当没有证书文件的时候,服务也会建立连接

#即使客户端提供证书,服务也会先检查根证书是否有效,之后不管有没有效,都说是无效的证书文件

#当使用一个混合调度的时候,客户端不能提供,或者没有这个ca证书,将会使用这个参数

 

 allowInvalidCertificates: <boolean>     

#  启用或禁用TLS / SSL证书的验证检查集群中的其他服务器,并允许使用无效的证书

 

 allowInvalidHostnames: <boolean>      

# 默认为false。 当开启的时候,MongoDB禁用验证主机名的TLS / SSL证书,允许mongod连接MongoDB实例如果主机名证书指定的主机名不匹配。

 

 disabledProtocols: <string>      

# 阻止mongodb服务使用SSL接受传入的连接,而是使用特定的协议或协议,后面的值可以使

# TLS1_0

# TLS1_1

# TLS1_2    后面跟谁,谁将不会被使用

 

 FIPSMode: <boolean>  

 #默认为1,当为mongodb服务安装OpenSSL库的时候是否启用FIPS模式 ,这个是一定要开启的,FIPS兼容OpenSSL库使用.

## 安全选项

security:

  

  keyFile: <string>

#存储服务分片的秘要验证文件的路径,MongoDB实例用于验证彼此在分片集群或者副本集密钥文件是否安全

  

  clusterAuthMode: <string>    

# 集群使用的身份验证模式验证。如果你使用内部x.509认证,指定这里。这个选项可以有以下值之一:

#keyFile 使用一个密钥文件进行身份验证。只接受密钥文件。

#sendKeyFile 滚动升级日志。发送一个密钥文件进行身份验证,但可同时接受密钥文件和x.509证书

##sendX509 滚动升级日志,发送.x509验证证书,可以同时接受keyfilees和.x509文件

#x509 推荐使用,发送.x509文件来验证证书,只接受.x509证书文件

  

  authorization: <string>

   #默认后disabled 启用或禁用基于角色的访问控制(RBAC)来管理每个用户的访问数据库资源和操作。

#enabled 启用或禁用基于角色的访问控制(RBAC)来管理每个用户的访问数据库资源和操作。

#disabled 用户可以访问任何数据库和执行任何操作。

  

  javascriptEnabled:  <boolean>   

#默认后面跟true,启用或禁用服务器端JavaScript执行。当禁用,你不能使用操作,执行服务器端执行的JavaScript代码,如查询操作符的美元,mapReduce命令和db.collection.mapReduce()方法,组织指挥和db.collection.group()方法。  

  

  sasl:

hostName: <string>     

serviceName: <string>

saslauthdSocketPath: <string>

  

#####从下一行还是往后为密钥管理控制选项

  

  

  enableEncryption: <boolean>     

#默认为false  开启加密的WiredTiger存储引擎。你必须设置为 1 传递加密密钥和配置。

  

  encryptionCipherMode: <string>

#默认值:AES256-CBC  256位高级加密标准密码块链接模式

#AES256-GCM 256位高级加密标准在伽罗瓦/计数器模式

  

  encryptionKeyFile: <string>

#当地的密钥文件的路径密钥管理通过KMIP以外的过程。只有当管理键集通过KMIP以外的过程。如果数据已经加密使用KMIP,MongoDB将抛出一个错误。

#开启这个需要security.enableEncryption 开启为1

  

  kmip:

keyIdentifier: <string>   

#明确一个现有已经存在的不在KMIP服务之内的KMP标识符包括使用与标识符相关的关键系统的关键

#只能在第一次初始化实例的加密时候使用这个设置

#如果不设定,MongoDB将请求KMIP服务器创建一个新的利用系统key的key。

#如果KMIP服务器不能用指定的标识符或找到一个key的数据已经加密密钥,MongoDB将抛出一个错误。

#开启这个需要security.enableEncryption 开启为1

rotateMasterKey: <boolean>    

#默认为false    如果为开启,那么不断有主键从新编译存储密钥

serverName: <string>      

#MIP服务运行一个密钥管理方案KMIP服务的主机名或者是ip

#开启这个需要security.enableEncryption 开启为1

port: <string>       

#默认为5696     kMIP服务器的服务监听端口号 ,需要serverName先提供了

clientCertificateFile: <string>

#包含客户端证书的路径字符串用于MongoDB KMIP服务器进行身份验证。

clientCertificatePassword: <string>

#密码解密客户机证书(即security.kmip.clientCertificateFile),用于对MongoDB KMIP服务器进行身份验证。只有证书加密使用的选项

serverCAFile: <string>   

#CA证书文件路径,用于客户端链接KMIP服务器的验证

##  存储选项

storage:

  

  dbPath: <string>     

  #默认是/data/db mongod实例存储数据的目录   

  

  indexBuildRetry: <boolean>   

   #默认为1    指定是否在下一个启动mongod重建完整的索引。

#这适用于情况mongod重启后关闭或停止在中间的一个索引构建。在这种情况下,mongod总是删除任何不完整的索引,然后,在默认情况下,试图重建它们。

#阻止mongod重建索引,这个选项设置为false。

  

  repairPath: <string>     

#后跟一个以_tmp结尾的路径文件名,当mongod使用了--repair选项,完成之后,数据文件实在DBPATH定义的存储文件里面,而这个定义的文件是为空的

  

  journal:

enabled: <boolean>    

#在64位系统,为true,  在32位系统上面为false

#是否启用持久日志确保数据文件有效恢复

这个选项只适用于制定了--dbpath选项才有效

commitIntervalMs: <num>   

#默认后面为100或者是30,单位为毫秒 mongod操作日志的最大持续时间

#降低数值,可以增加的日志的持久性,但是这是以损失磁盘性能为代价,默认的日志时间间隔为100毫秒

#在MMAPV1环境下,如果日志文件是在不同的设备块上如lvm,raid,这个值最好是设置成30毫秒,这种情况一般是上一中情况的三分之一

#在WiredTiger环境下,默认日志间隔为100毫秒,如果使用一个J:true将会造成日志立刻同步

  

  directoryPerDB: <boolean>   

# 默认是false, 如果开启的话,数据库为每个数据库创建一个单独的数据库文件来存贮数据

   #注:这个必须用新的目录路径才能管用,也就是说在你定义的DBPATH的目录下,会生成很多以数据库名字来命名的数据目录

#子目录对应的是相应的数据库

#如果使用,必须重新启动mongod实例与新存储,而且要找一个行的目录来存贮数据

#在独立的mongodb服务中,使用mongodump来备份数据,停止实例,重启有心的数据目录的数据库,之后用mongorestore来恢复数据到新的目录

#在复制集的mongodb集群中,可以通过升级滚动的方式来更新二级成员,重启存有新的数据目录的数据库,通过初始同步,来使这个数据保持一致,升级所有二级成员之后,启动他们先,随后主的停掉,更新最后的主服务器

 

 syncPeriodSecs: <int>     

#默认后面跟60   数据从内存中到磁盘文件中用的时

#注:再生产环境中不要设置这个值

#如果这个值设置为0,内存不会向磁盘文件写数据

#mongodb写数据到日志文件是非常快的,但是写的磁盘中确实很慢,这个值的设置对日志文件没有影响

  

  engine: <string>

# 默认为wiredTiger 这是3.2版本新的默认设置,存储引擎还可以选择:

#mmapv1

#inMemory    内存存储引擎,测试阶段,不要用在生产环境

#如果你试图启动一个数据文件里用的不是配置文件里使用的引擎的话,mongod是拒绝启动的

 

 mmapv1:  

  preallocDataFiles: <boolean>    

#默认为true,用或禁用的预先配置数据文件

 

 nsSize: <int>  

#默认为16  命名空间文件的大小,每一个文件都是以.ns结尾的,每个集合和索引算得上是命名空间

#使用这个设置可以使控制新创建的命名空间文件大小,但是它不会对已经存在的命名空间大小造成影响

#最大可以设置为2047个字节,提供了大概有24000个命名空间

 

 quota:

 

enforced: <boolean>     

#默认为false, 启用或禁用实施最大限度的每个数据库数据文件数量

#当设置为1开启的时候,每个mongodb可以创建最多8个数据库

 

maxFilesPerDB: <int>   

#默认为8,这个数值直接关系到上一个选项的最大可以创建的数据库数量,当然前提是上一个选项在开启的状态下

 

 smallFiles: <boolean>     

#默认为false  ,当设置为1的时候,将以默认的小文件,这个选项会降低了数据文件的初始大小和限制的最大大小为512 mb

#同时这个开启的话,也会境地日志文件的大小,可以从1G到128M

#使用这个选项的环境一般都是你有很多数据库,而每个数据库的数据文件都比较小

#这个选项的不足是他会使数据实例生成大量的文件,这样会影响到大数据库的性能

 

 journal:

debugFlags: <int>     

#提供功能测试,这个不是平时使用的,而是测试在系统异常关闭的情况下会不会影响数据的完整性

 

commitIntervalMs: <num>

# MongoDB 3.2不允许storage.mmapv1.journal.commitIntervalMs设置。

# 使用storage.journal.commitIntervalMs代替。

# 设置和适用于MMAPv1或WiredTiger存储引擎。

  

  wiredTiger:      

#这个是mogod默认的数据库存储引擎的下面的参数,和上一部分取一个就可以了

 

 engineConfig:

 

cacheSizeGB: <number>  

#缓存的最大大小,WiredTiger将用于所有数据

#默认情况下,启动MongoDB 3.2,mongodb缓存存储引擎会使用内存为【(系统引擎-1G)/6 】的60% 或者是接近1G的内存

#当热一般系统内存超过了10G,那么monggo的缓存会使用3G,也可设置超过3G

#这个值最好是保持默认值

#当然这并不是mongod使用的总内存的大小,这只是缓存的值,它还要使用文件系统缓存等机制还是要消耗内存的

#此外,操作系统将使用任何空闲RAM缓冲文件系统块

#如果你在设置多个mongod节点的时候,因为内存大小可能不一,所以要以小内存为基准

#还有一个需要设置小点的情况是在使用了容器的情况下,如lxc,cgroups,docker等情况下,实际上是看不到所有内存的,所以要设置在容器环境下调整内存

 

statisticsLogDelaySecs: <number>   

#默认数值为0(这个不是布尔值)

#时间间隔,以秒为单位,WiredTiger日志统计文件中指定dbPath

#当设置为0的时候,WiredTiger没有日志统计

 

journalCompressor: <string>     

#默认为snappy  他默认压缩使用压缩收集数据的类型。你可以覆盖这个集合的基础上在创建集合。

# none

# zlib

#这个值的设置之后后续的压缩使用这个新的设置,以前存在的集合使用了以前的已经设定的压缩

 

directoryForIndexes: <boolean>  

#默认后跟false   当为true时,mongod索引和集合存储在单独的子目录下的数据

#具体来说,mongod索引存储在子目录命名指数和收集数据集合命名的子目录中。

#通过使用一个符号链接,您可以指定一个不同的位置的索引。特别是mongod实例是不运行的时候,索引目录移动到目的地,命名索引数据目录下创建一个符号链接到新的目标。

 

collectionConfig:

#blockCompressor: <string>  

#默认snappy   默认类型的压缩使用压缩收集数据。你可以覆盖这个集合的基础上在创建集合。

# none

# zlib

 

indexConfig:

# prefixCompression: <boolean>   

# 默认是true   启用或禁用前缀索引数据的压缩

 

 

##    数据库性能分析选项

operationProfiling:

 

 slowOpThresholdMs: <int>  

#默认为100  阈值以毫秒为单位的数据库查询分析器认为缓慢。MongoDB记录所有慢速查询日志,即使数据库分析器关闭。当分析器启动,它写入到系统。配置文件收集

  

  mode: <string>   

#默认为off   数据库分析的水平,它将操作性能信息插入到系统。配置文件收集。指定一个以下的级别:

#slowOp 只包括缓慢操作

#all   所有操作

#数据库性能分析的开启会影响到数据库的性能,建议不要开启

## 数据库复制选项

replication:

  

  oplogSizeMB: <int>    

#复制调度日志的最大值,单位是M,在最大可用的空间上mongod程序创建一个oplog

#对于64位的系统来说,oplog一般是使用空闲磁盘的5%

#一旦mongod创建了oplog,那么及时修改了这个选项的东西,也是不会对现有的oplog的大小造成影响的

  

  replSetName: <string>   

#复制集的名字也是mongod服务的一部分,副本集合中的所有主机必须有相同的名字。

#如果您的应用程序连接到多个副本集,每组应该有一个独特的名字。有些驱动组副本集连接副本集名称。

 

 secondaryIndexPrefetch: <string>   

#默认后跟 all   这个只有是MMAPV1存储引擎才会使用这个选项

#从复制集的索引加载进内存先于应用系统在oplog读取

#默认情况下从复制集加载所有的索引到系统内存中先于系统从oplog中响应

#这些值可以设置成

#none   从复制集不加载到索引到内存当中

#all    从复制集加载所有与系统有关的所有索引

#_id_only 除了现有的已经存在的_id索引加载斤内存,其他的都不加入

  

  enableMajorityReadConcern: <boolean>   

#默认后面跟False     如果是Enable 则是开启读水平的多数majority

  

## 分片选项

sharding:

clusterRole: <string>  

#分片的角色,mongod实例集群。这个设置设置为下列之一:

#configsvr 开始这个实例作为一个配置服务器。默认实例在端口27019上启动。

#shardsvr 开始这个实例作为一个分片。默认实例在端口27018上启动。

archiveMovedChunks: <boolean>  

#默认是0  块迁移期间,分片不保存文档分片的迁移

##  auditLog选项

auditLog:

destination: <string>   

#这个选项是控制mongo和mongod发送所有的审计事务的。它下面的值可以跟:

#syslog      以JSON格式审计事件输出到syslog中。审计信息里面有日志的安全登记和用户设备的水平信息

#syslog 消息限制可能导致审计消息的截断,审计系统既不会检测截断,也不会报告截断发生的错误信息

#console 以JSON格式输出审计事件发送到stdout。

#file 在有--autitPath中指定格式,在规定了--auditPath 会将审计事件输出到文件当中

format: <string>  

#如果auditLog输出到文件中(也就是上面那个为file)这个选项如下 :

# JSON 以JSON格式输出审计事件到文件当中,要指定--auditPath

# BSON 以BSON二进制格式输出审计到文件中,要指定--auditPath

# JSON比BSON,JSON会比较降低服务器的新能,建议选则BSON

path: <string>   

#如果destination制定了file,那么这个就是指定事件输出到的文件名,可以是绝对路径也可以是相对路径

filter: <string>  

#这个文件会限制类型的操作和审计系统的报告,这个选项用一个字符串表示查询的方式:

#{ <field1>: <expression1>, ... }   下面来解释一下这个字符串

#<field1> 可以是任何的领域的审计信息,包括字段返回的参数文件

#<expression> 是查询条件表达式

#指定一个审计过滤器,过滤器文件包括在单引号将文档作为一个字符串。 

#或者在配置文件中指定审计过滤器,您必须使用YAML格式的配置文件

###  snmp选项       mongod支持数据库通过SNMP协议,支持集中手机各集合的数据,这个程序解释mongod的实例安装和设置作为一个SNMP代理

## 同时mongodb的SNMP也支持初始化和测试

## 只有mongod实例提供支持SNMP,mongo和mongodump等其他的是不支持的

snmp:

  

  subagent: <boolean>   

  #当设置为1,SNMP作为代理运行

  

  master: <boolean>

  #当这是为1,SNMP作为主服务器运行

  

   

##  文本搜索选项

basisTech:

rootDirectory <string>    

#指定根目录里面支持的语言集,以使数据库支持更多的语言种类

## 只针对客户端mongo的设置

replication:

  localPingThresholdMs: <boolean>  

#默认是15,ping的时间,以毫秒为单位,这是mongo用户决定多少时间从系统读到客户端

sharding:

  autoSplit: <boolean>  

  #默认为true,启用或禁用自动分割块的分片集合 

#由于mongos会在集群之中创建一个分片,为了完全关闭集群中的分片,这个值必须在所有的mogos里面设置为0

#禁用了自动分割,分片集群中的数据随着时间的推移会变得不平衡,还是小心禁用这个值为好

  

  configDB: <string>   

  #集群分片的服务配置,配置分片服务及所谓一个副本集,必须使用WiredTiger存储引擎

  #mongod3.2 版本禁止使用3个镜像mongod实例的配置服务

  #指定副本集中的某一成员的hostname和端口,以及它的配置信息的名字

#分片集的mongo实例必须指定相同的配置服务器副本集名称,指定主机名和端口不同成员的副本集。

#如果指定弃用的实例镜像,指定mongod实例主机名和端口,mognos实例必须指定形同的配置字符

 

chunkSize: <int>    

#默认为64

#每个块的大小以兆字节为单位的分片集群。

#64字节的大小是理想在大多数部署:

#较大的块大小可能导致数据分布不均匀;较小块大小可能导致低效的运动块节点之间。

#这个选项之印象当以第一次初始化集群的时候的块大小,后面你在修改也是没有效的。

最后,一般情况下这样的配置可以作为基础配置,用于后续累加:

systemLog:

  destination: file

  logAppend: true

  path: /var/log/mongodb/mongod.log

  verbosity: 0 

  logRotate: reopen

  timeStampFormat: iso8601-local

storage:

  dbPath: /mongodb/data

  journal:

    enabled: true

    commitIntervalMs: 100

  directoryPerDB: true

  syncPeriodSecs: 60

  engine: wiredTiger

processManagement:

  fork: true  # fork and run in background

  pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile

net:

  port: 27017

  bindIp: 0.0.0.0  # Listen to local interface only, comment to listen on all interfaces.

  maxIncomingConnections:  1000000

  wireObjectCheck: true

  

security:

  authorization: disabled