mongdb配置文件一詳解

繼上篇mongdb配置文件,今天我們詳細瞭解一下每個配置的意義所在:

1. systemLog
systemLog.verbosity 
integer
日誌文件輸出的級別,越大級別越低。
systemLog.quite
boolean
在quite模式下會限制輸出信息:數據庫命令輸出,副本集活動,連接接受事件,連接關閉事件。
systemLog.traceAllExceptions 
string
打印verbose信息來調試,用來記錄證額外的異常日誌。
systemLog.syslogFacility
string,默認爲user
指定syslog日誌信息的設備級別。需要指定--syslog來使用這個選項。
systemLog.path 
string
發送所有的診斷信息日誌,默認重啓後會覆蓋。
systemLog.logAppend
boolean
是否啓用追加日誌。
systemLog.destination
string
指定一個文件或syslog。如果指定爲文件,必須同時指定systemLog.path
systemLog.timeStampFormat
string,默認爲iso8601-local
日誌信息中的時間戳格式:ctime,iso8601-utc,iso8601-local
2. processManagement
processManagement.pidFilePath
string
指定進程的ID,與--fork配合使用,不指定則不會創建。
processManagement.fork
boolean,默認爲false
是守護進程在後臺運行。
3. net
net.port
interger,默認爲27017
mongodb實例監聽的端口號。
net.bindIp
string,2.6版本默認爲127.0.0.1
指定mongodb實例綁定的ip,爲了綁定多個ip,可以使用逗號分隔。
net.maxIncomingConnections
integer 默認爲1000000
mongodb實例接受的最多連接數,如果高於操作系統接受的最大線程數,設置無效。
net.wireObjectCheck
boolean,默認爲true
檢查文檔的有效性。會稍微影響性能。
net.http.enabled
boolean,默認爲false
打開http端口,會導致更多的不安全因素。
net.unixDomainSocket.enabled
boolean,默認爲false
停止UNIX domain socket監聽。mongodb實例會一直監聽UNIXsocket,除非net.unixDomainSocket.enabled設置爲true,bindIp沒有設置,bindIp沒有默認指定爲127.0.0.1。
net.unixDomainSocket.pathPrefix
string,默認爲/tmp
unix Socket所在的路徑。
net.ipv6
boolean,默認爲false
打開IPV6功能,默認爲關閉的。
net.http.JSONPEnabled
boolean,默認爲false
運行json訪問http端口,打開會導致更多的不安全因素。
net.http.RESTInterfaceEnabled
boolean,默認爲false
即使http接口選項關閉,打開也會暴露http接口,會導致更多的不安全因素。
4. security
security.keyFile
string
指定分片集或副本集成員之間身份驗證的key文件存儲位置。
security.clusterAuthMode
string
集羣認證中利用到這個模式,如果使用x.509安全機制,可以在這裏指定。keyFile,sendKeyFile,sendX509,x509
默認的mongodb發行版是不支持ssl的,可以使用專業版的或重新自行編譯mongodb。
security.authorization
string,默認爲disabled
打開訪問數據庫和進行操作的用戶角色認證。enabled,disabled
5. operationProfiling
operationProfiling.slowOpThresholdMs
integer,默認100
指定慢查詢時間,單位毫秒,如果打開功能,則向system.profile集合寫入數據。
operationProfiling.mode
integer,默認0
改變分析日誌輸出級別。0,1,2,分別對應關閉,僅打開慢查詢,記錄所有操作。
6. storage
storage.dbPath
string
指定數據文件的路徑。
storage.directoryPerDB
boolean,默認關閉
指定存儲每個數據庫文件到單獨的數據目錄。如果在一個已存在的系統使用該選項,需要事先把存在的數據文件移動到目錄。
storage.indexBuildRetry
boolean,默認爲true
指定數據庫在索引建立過程中停止,重啓後是否重新建立索引。
storage.preallocDataFiles
boolean,默認true
是否預先分片好數據文件。
storage.nsSize
integer,默認16
指定命名空間的大小,即.ns後綴的文件。最大爲2047MB,16M文件可以提供大約24000個命名空間。
storage.quota.enforced
boolean,默認false
限制每個數據庫的數據文件數目。可以通過maxFilesPerDB調整數目。
storage.quota.maxFilesPerDB
integer,默認爲8
限制每個數據庫的數據文件數目。
storage.smallFiles
boolean,默認爲false
限制mongodb數據文件大小爲512MB,減小journal文件從1G到128M,適用於有很多數量小的數據文件。
storage.syncPeriodSecs
number,默認60
mongodb文件刷新頻率,儘量不要在生產環境下修改。
storage.repairPath
string,默認爲指定dbpath下的_tmp目錄。
指定包含數據文件的根目錄,進行--repair操作。
storage.journal.enabled
boolean,默認64bit爲true,32bit爲false
記錄操作日誌,防止數據丟失。
storage.journal.debugFlags
integer
提供數據庫在非正常關閉下的功能測試。
storage.journal.commitIntervalMs
number,默認爲100或30
journal操作的最大間隔時間。可以是2-300ms之間的值,低的值有助於持久化,但是會增加磁盤的額外負擔。
如果journal和數據文件在同一磁盤上,默認爲100ms。如果在不同的磁盤上爲30ms。
如果強制mongod提交日誌文件,可以指定j:true,指定後,時間變爲原來的三分之一。
7. replication
replication.oplogSizeMB
integer,默認爲磁盤的5%
指定oplog的最大尺寸。對於已經建立過oplog.rs的數據庫,指定無效。
replication.replSetName
string
指定副本集的名稱。
replication.secondaryIndexPrefetch
string,默認爲all
指定副本集成員在接受oplog之前是否加載索引到內存。默認會加載所有的索引到內存。none,不加載;all,加載所有;_id_only,僅加載_id。
8. sharding
sharding.clusterRole
string
指定分片集的mongodb角色。configsvr,配置服務器,端口27019;shardsvr,分片實例,端口27018。
sharding.archiveMovedChunks
integer
在塊移動過程中,該選項強制mongodb實例保存所有移動的文檔到moveChunk目錄。
9. auditLog
auditLog.destination
string
syslog,以json格式保存身份驗證到syslog,windows下不可用,serverity級別爲info,facility級別爲user。
console,以json格式輸出信息到標準輸出。
file,以json格式輸出信息到文件。
auditLog.format
string
指定輸出文件的格式JSON,輸出json格式文件;BSON,輸出bson二進制格式文件。
auditLog.path
string
如果--auditDestination的值爲file,則該選項指定文件路徑。
auditLog.filter
document
指定過濾系統身份驗證的格式爲:
{ atype : <expression> }
{ atype: <expression>, "param.db": <database> }
10. snmp
snmp.subagent
boolean
運行SNMP爲一個子代理。
snmp.master
boolean
運行SNMP爲一個主進程。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章