mongodb配置文件經常使用配置項

基於mongo 3.4版本

高於3.4版本的請參考官方文檔

docs.mongodb.com/manual/refe…
javascript

mong日誌經常使用配置配置

systemLog:java

quiet: <boolean>mongodb

traceAllExceptions: <boolean>數據庫

syslogFacility: <string>緩存

path: <string>安全

logAppend: <boolean>服務器

destination: <string>app

timeStampFormat: <string>性能

systemLog.quiet

輸入:
boolean

運行
mongos
mongod
處於安靜模式,試圖限制輸出量。

systemLog.quietfetch

是不建議用於生產系統,由於它可使在特定的鏈接變得更加困難跟蹤問題。

systemLog.traceAllExceptions

輸入:
boolean

打印詳細信息以進行調試。用於支持相關故障排除的其餘日誌記錄。

systemLog.path

輸入:
string

日誌文件的路徑,
mongod
或者
mongos
應該發送全部診斷日誌記錄信息,而不是標準輸出或主機的
syslog

MongoDB

在指定的路徑上建立日誌文件。

systemLog.logAppend

輸入:
boolean

默認值:
False

mongo
實例重啓時,默認備份現有日誌,並建立新的日誌文件。

配置爲
true
時,將新增日誌追加到當前的日誌文件末尾

systemLog.destination

輸入:
string
值爲
file
syslog

MongoDB

輸入日誌的方式。指若是指定
file
,則還必須指定
systemLog.path

若是未指定
systemLog.destination
MongoDB
會將全部日誌輸出發送到標準輸出。

官方建議使用
file

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

ISO-8601
格式顯示本地時間的時間戳。例如,在大紀元開始的紐約:
1969-12-31T19:00:00.000-0500

mong進程經常使用配置

processManagement:

fork: <boolean>

pidFilePath: <string>

processManagement.fork

輸入:
boolean

默認值:
False

啓用在後臺運行
mongos
mongod
處理的守護程序模式。默認狀況下
mongos
mongod
不做爲守護程序運行:一般經過使用或使用處理守護進程的控制進程(例如,和)運行
mongos
mongod
做爲守護程序 運行。

processManagement.pidFilePath

輸入:
string

mongs
mongd
指定
pid
的文件位置

mong經常使用網路配置

net:

port: <int>

bindIp: <string>

maxIncomingConnections: <int>

ipv6: <boolean>

net.port

類型:整數

默認值:
27017

MongoDB

實例偵聽客戶端鏈接的
TCP
端口。

net.bindIp

輸入:
string

默認值:全部接口。

檢測使用
mongs
mongd
鏈接的應用程序的
ip
是否能夠訪問
mongo
實例。不在綁定範圍的
IP
,不可以訪問
mong
實例。

要綁定到多個
IP
地址,請輸入逗號分隔值列表。

net.maxIncomingConnections

類型:整數

默認值:
65536

要接受
mongos
mongod
將接受的最大同時鏈接數。若是此設置高於操做系統配置的最大鏈接跟蹤閾值,則此設置無效。

net.ipv6

輸入:
boolean

默認值:
False

啓用或禁用
IPv6
支持。
mongos
mongod
默認禁用
IPv6
支持。

Mong安全配置

security:

keyFile: <string>

clusterAuthMode: <string>

authorization: <string>

javascriptEnabled: <boolean>

security.keyFile

輸入:
string

密鑰文件的路徑,用於存儲
MongoDB
實例用於在分片集羣或副本集中相互進行身份驗證的共享密鑰 。

keyFile

暗示
security.authorization
。有關更多信息,請參閱內部驗證

security.clusterAuthMode

輸入:
string

默認值:
keyFile

用於羣集身份驗證的身份驗證模式。

此選項能夠具備如下值之一

keyFile

使用密鑰文件進行身份驗證。只接受密鑰文件。

sendKeyFile

用於滾動升級目的。發送密鑰文件進行身份驗證,但能夠接受密鑰文件和
x.509
證書。

sendX509

用於滾動升級目的。發送
x.509
證書進行身份驗證,但能夠接受密鑰文件和
x.509
證書。

x509

推薦的。發送
x.509
證書以進行身份
​​
驗證,並僅接受
x.509
證書。

security.authorization

輸入:
string

默認值:
disabled

啓用或禁用基於角色的訪問控制(
RBAC
)以管理每一個用戶對數據庫資源和操做的訪問。

將此選項設置爲如下之一:

描述

enabled

用戶只能訪問已被授予權限的數據庫資源和操做。

disabled

用戶能夠訪問任何數據庫並執行任何操做。

security.authorization
設置僅適用於
mongod

security.javascriptEnabled

輸入:
boolean

默認值:
True

啓用或禁用服務器端
JavaScript
執行。

禁用時,不能使用執行
JavaScript
代碼的服務器端執行的操做,例如
$where
查詢運算符,
mapReduce
命令和
db.collection.mapReduce()
方法,
group
命令和
db.collection.group()
方法。

Mongo數據存儲配置

storage:

dbPath: <string>

indexBuildRetry: <boolean>

repairPath: <string>

journal:

enabled: <boolean>

commitIntervalMs: <num>

directoryPerDB: <boolean>

syncPeriodSecs: <int>

engine: <string>

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
Windows

mongod

實例存儲其數據的目錄。

storage.dbPath
設置僅適用於
mongod

storage.indexBuildRetry

輸入:
boolean

默認值:
True

指定是否
mongod
在下次啓動時重建不完整的索引。這適用於在
mongod
索引構建過程當中關閉或中止後從新啓動的狀況。在這種狀況下,
mongod
始終刪除任何不完整的索引,而後,默認狀況下,嘗試重建它們。要中止
mongod
重建索引,請將此選項設置爲
false

storage.indexBuildRetry
設置僅適用於
mongod

不適用於
mongod
使用內存存儲引擎的實例。

storage.repairPath

輸入:
string

默認值:
_tmp_repairDatabase_<num>
下的目錄
dbPath

MongoDB

--repair
操做期間將使用的工做目錄 。當
--repair
完成後,
storage.repairPath
目錄是空的,而且
dbPath
包含了修復的文件。

storage.repairPath
設置僅適用於
mongod

僅適用於
mongod
使用
MMAPv1
存儲引擎。

storage.journal.enabled

輸入:
boolean

默認值:
true
64
位系統上,
false
32
位系統上

啓用或禁用持久性日誌以確保數據文件保持有效和可恢復。此選項僅在您指定
storage.dbPath
設置時適用 。所述
mongod
64
位的構建
2.0
後版本的默認啓用日誌。

storage.journal.enabled
設置僅適用於
mongod

不適用於
mongod
使用內存存儲引擎的實例。

若是副本集的任何投票成員在沒有日記功能的狀況下運行(即運行內存存儲引擎或在禁用日記功能的狀況下運行),則必須設置
writeConcernMajorityJournalDefault
false

storage.journal.commitIntervalMs

類型:數字

默認值:
100
30

mongod

進程容許在日誌操做之間的最長時間(以毫秒爲單位)。值的範圍爲
1
500
毫秒。較低的值會增長日誌的持久性,但會犧牲磁盤性能。默認日記賬提交間隔爲
100
毫秒。

MMAPv1
上,若是日誌與數據文件位於不一樣的塊設備(例如,物理卷,
RAID
設備或
LVM
卷)上,則默認日誌提交間隔爲
30
毫秒。另外,在
MMAPv1
上,當一個寫操做處於
j:true
掛起狀態時,
mongod
將減小
commitIntervalMs
到設定值的三分之一。

WiredTiger
上,默認日誌提交間隔爲
100
毫秒。此外,寫入
j:true
將致使日誌的當即同步。

storage.journal.commitIntervalMs
設置僅適用於
mongod

不適用於
mongod
使用內存存儲引擎的實例。

storage.engine

默認值:
wiredTiger

MongoDB 3.2
開始,
wiredTiger
是默認值。

mongod

數據庫的存儲引擎。可用值包括:

mmapv1

指定
MMAPv1
存儲引擎。

wiredTiger

指定
WiredTiger
存儲引擎。

inMemory

指定內存存儲引擎。

storage.wiredTiger.engineConfig.cacheSizeGB

輸入:
float

WiredTiger

將用於全部數據的內部緩存的最大大小。

值的範圍能夠從
256MB
10TB
,而且能夠是浮點數。此外,默認值也已更改。

3.4
開始,
WiredTiger
內部緩存默認使用較大的一個:
50
%(
RAM-1 GB
),或
256 MB

避免將
WiredTiger
內部緩存大小增長到其默認值以上。

使用
WiredTiger
MongoDB
同時使用
WiredTiger
內部緩存和文件系統緩存。

經過文件系統緩存,
MongoDB
自動使用
WiredTiger
緩存或其餘進程未使用的全部可用內存。

注意

storage.wiredTiger.engineConfig.cacheSizeGB
限制
WiredTiger
內部高速緩存的大小。操做系統將使用可用的空閒內存用於文件系統緩存,這容許壓縮的
MongoDB
數據文件保留在內存中。此外,操做系統將使用任何空閒
RAM
來緩衝文件系統塊和文件系統緩存。

爲了容納額外的
RAM
使用者,您可能必須減小
WiredTiger
內部緩存大小。

默認的
WiredTiger
內部緩存大小值取決於假定
mongod
每臺計算機有一個實例。若是單個計算機包含多個
MongoDB
實例,則應減小該設置以適應其餘
mongod
實例。

storage.wiredTiger.engineConfig.journalCompressor

默認值:
snappy

用於壓縮
WiredTiger
日誌數據的壓縮類型。

可用的壓縮機有:
none
snappy
zlib

storage.wiredTiger.engineConfig.directoryForIndexes

輸入:
boolean

默認值:
false

storage.wiredTiger.engineConfig.directoryForIndexes
true
mongod
存儲在數據(即下單獨子目錄索引和集合
storage.dbPath
)目錄。具體而言,
mongod
將索引存儲在已命名的子目錄中
index
,並將集合數據存儲在名爲的子目錄中
collection

storage.wiredTiger.collectionConfig.blockCompressor

默認值:
snappy

用於壓縮集合數據的默認壓縮類型。您能夠在建立集合時基於每一個集合覆蓋此設置。

可用的壓縮格式有:
none
snappy
zlib

storage.wiredTiger.collectionConfig.blockCompressor

影響建立的全部集合。若是更改
storage.wiredTiger.collectionConfig.blockCompressor
現有
MongoDB
部署的值,則全部新集合都將使用指定的壓縮器。現有集合將繼續使用建立時指定的壓縮器,或當時的默認壓縮器。

storage.wiredTiger.indexConfig.prefixCompression

默認值:
true

啓用或禁用索引數據的前綴壓縮。

指定
true
爲索引數據
storage.wiredTiger.indexConfig.prefixCompression
啓用前綴壓縮,或
false
禁用索引數據的前綴壓縮。

storage.wiredTiger.indexConfig.prefixCompression
設置會影響全部建立的索引。若是更改
storage.wiredTiger.indexConfig.prefixCompression
現有
MongoDB
部署的值,則全部新索引都將使用前綴壓縮。現有索引不受影響。

storage.inMemory.engineConfig.inMemorySizeGB

輸入:
float

默認值:物理
RAM
50
%減去
1 GB

值的範圍能夠從
256MB
10TB
,而且能夠是浮點數。

爲內存存儲引擎數據分配的最大內存量,包括索引,
oplog
(若是它
mongod
是副本集,副本集或分片集羣元數據的一部分)等。

默認狀況下,內存存儲引擎使用
50
%的物理
RAM
減去
1 GB

僅適用於
MongoDB
企業版

mong慢查詢配置

operationProfiling:

slowOpThresholdMs: <int>

mode: <string>

operationProfiling.slowOpThresholdMs

類型:整數

默認值:
100

數據庫探查器認爲查詢緩慢的閾值(以毫秒爲單位)。即便數據庫分析器處於關閉狀態,
MongoDB
也會將全部慢速查詢記錄到日誌中。當探查器打開時,它會寫入
system.profile
集合。

operationProfiling.slowOpThresholdMs
設置僅適用於
mongod

operationProfiling.mode

輸入:
string

默認值:
off

數據庫概要分析的級別,它將有關操做性能的信息插入到
system.profile
集合中。

能夠指定的級別:

off

關閉,沒有剖析。

slowOp

僅包括慢速操做。

all

包括全部操做。

數據庫分析可能會影響數據庫性能

operationProfiling.mode
設置僅適用於
mongod

mong副本集相關配置

replication:

oplogSizeMB: <int>

replSetName: <string>

secondaryIndexPrefetch: <string>

enableMajorityReadConcern: <boolean>

replication.oplogSizeMB

類型:整數

複製操做日誌的最大大小(以兆字節爲單位)(即
oplog
)。該
mongod
過程基於可用的最大空間量建立
oplog

對於
64
位系統,
oplog
一般佔可用磁盤空間的
5
%。一旦
mongod
第一次建立了
oplog
,更改
replication.oplogSizeMB
選項將不會影響
oplog
的大小。

replication.oplogSizeMB
設置僅適用於
mongod

replication.replSetName

輸入:
string

做爲其
mongod
一部分的副本集的名稱。副本集中的全部主機必須具備相同的集名稱。

若是您的應用程序鏈接到多個副本集,則每一個集應具備不一樣的名稱。

replication.replSetName
設置僅適用於
mongod

replication.enableMajorityReadConcern

輸入:
boolean

默認值:
False

啓用讀取關注級別
"majority"

mong分片集相關配置

sharding:

clusterRole: <string>

archiveMovedChunks: <boolean>

sharding.clusterRole

輸入:
string

mongod

實例在分片集羣中的角色。

將此設置設置爲如下之一:

configsvr

將此實例做爲配置服務器啓動。
27019
默認狀況下,實例在端口上啓動。

shardsvr

啓動此實例爲碎片。
27018
默認狀況下,實例在端口上啓動。

sharding.clusterRole
設置僅適用於
mongod

sharding.archiveMovedChunks

輸入:
boolean

3.2
開始,
MongoDB false
用做默認值。

在塊遷移期間,分片不會保存從分片遷移的文檔。

mong分片集中Mongs的配置

replication:

localPingThresholdMs: <int>

sharding:

configDB: <string>

replication.localPingThresholdMs

類型:整數

默認值:
15

mongos

用於肯定哪些副本集成員從客戶端傳遞讀取操做的
ping
時間(以毫秒爲單位)。默認值
15

mongos
客戶端從副本集讀取數據的請求後,
mongs
會執行的操做:

1

,找到具備最低
ping
時間的集合的成員。

2

,找到集合中
ping
時間在
15
毫秒以內的全部副本集成員列表。

3

,若是指定選項的值,
mongos
則將查找在此值容許的延遲範圍內的副本成員。

4

,從查詢到的副本集成員列表中隨機選擇要讀取的成員。

用於成員的
replication.localPingThresholdMs
設置比較的
ping
時間是最近
ping
時間的移動平均值,最多每
10
秒計算一次。

所以,某些查詢可能會達到超過閾值的成員,直到
mongos
從新計算平均值。

sharding.configDB

輸入:
string

該配置服務器用於分片羣集。

指定配置服務器副本集名稱以及配置服務器副本集的至少一個成員的主機名和端口。

sharding:

configDB: <configReplSetName>/cfg1.example.net:27017, cfg2.example.net:27017,...

分片
mongos
羣集的實例必須指定相同的配置服務器副本集名稱,但能夠指定副本集的不一樣成員的主機名和端口。
相關文章
相關標籤/搜索