天天看點

[轉載]MongoDB配置檔案說明

原文位址:mongodb配置檔案說明作者:lan_zb

簡介¶

管理者和使用者可以控制mongod或mongos的執行個體在運作時可以直接從mongod的指令行參數或使用配置檔案修改。

雖然這兩種方法在功能上等同,且所有設定均類似的,配置檔案的方法是可取的。如果您從包中,并已開始安裝mongodb的使用系統的控制腳本 ,你已經在使用一個配置檔案。

要啟動mongod或mongos的的使用一個配置檔案,請使用下列形式之一:

mongod --config /etc/mongodb.conf

mongod -f /etc/mongodb.conf

mongos --config /srv/mongodb/mongos.conf

mongos -f /srv/mongodb/mongos.conf

在這個檔案中聲明的所有設定,使用下面的表格:

=

新的2.0版本中: 在版本2.0 之前 ,布爾值(如true | false)或“标志”參數,注冊為true,如果它們出現在配置檔案,不論其價值。

設定¶

verbose¶

預設值:false

增加了大量的内部報告傳回标準輸出或日志檔案中所産生的日志路徑 。

v ¶

詳細的另一種形式。

vv ¶

額外增加的輸出和日志記錄的詳細程度。

vvv ¶

vvvv的 ¶

vvvvv ¶

quiet¶

在一個安靜的運作的mongod或mongos的的執行個體模式,試圖限制輸出量。此選項抑制:

資料庫指令的輸出,包括的下降 ,dropindex,diaglogging , 驗證 ,清潔 複制活動。 連接配接接受事件。 連接配接關閉的事件。

port¶

預設值:27017

為mongod或mongos的的指定的tcp端口 監聽用戶端連接配接的執行個體。unix-like系統号低于1000的端口需要root權限。

bind_ip¶

default: all interfaces.

将此選項設定為配置mongodmongos的程序綁定和監聽連接配接從這個位址上的應用程式。您可以連接配接mongod 或mongos的情況下,以任何接口,但是,如果你附加的過程中可公開通路的接口,實作正确的身份驗證或防火牆的限制,以保護你的資料庫的完整性。

您可以連接配接一個逗号分隔的值清單綁定mongod多個ip位址。

maxconns¶

預設值:取決于系統(即的ulimit和檔案描述符)限制除非設定的mongodb不會限制其自己的連接配接。

指定一個值來設定最大數量的同時mongod或mongos的連接配接在環境法院聽證會期間,法官和環境委員會在之前證據基礎上,完全重新考慮整個申請。此設定沒有任何影響,如果是高于你的作業系統的配置的最大連接配接跟蹤.threshold

為mongos的,這是特别有用的,如果你有一個用戶端建立一個集合,但允許他們逾時,而不是關閉的藏品。當您設定maxconns ,確定該值是略高于連接配接池的大小,或總的連接配接數從傳播的成員來防止錯誤連接配接尖峰的碎片群集中。

objcheck¶

設定為true,強制mongod來驗證所有的請求從用戶端,以確定在收到無效的bson 對象永遠不會插入到資料庫中。mongod 不啟用此預設情況下,因為所需要的開銷。

logpath¶

預設值:無。 (即為/ dev / stdout中 )

指定的日志檔案,該檔案将儲存所有的檔案名的路徑診斷日志記錄資訊。

除非另有規定,mongod将所有的日志資訊輸出輸出到标準輸出。除非logappend是真實的,日志檔案将被覆寫時重新啟動的過程。

其他

目前,mongodb中的日志檔案的内容将覆寫如果不使用logappend 。這種行為可能改變的結果取決于在未來server-4499 。

logappend¶

如果設定為true,則添加新條目的日志檔案,而不是覆寫日志的過程重新啟動時,内容的。

如果未指定此設定,然後mongodb的覆寫現有的日志檔案在啟動時。

在不久的将來可能會改變的行為記錄系統未來server-4499的情況下。

syslog¶

所有的日志輸出發送到主機的系統日志系統,而而不是标準輸出或日志檔案和日志路徑 。

警告

您不能使用系統日志與日志路徑 。

pidfilepath¶

預設值:無。

指定檔案的位置舉行的“ pid “或程序idmongod程序。有用跟蹤mongod過程中的結合的叉設定。

如果沒有這個選項,mongod建立pid檔案。

keyfile¶

指定的密鑰檔案的路徑存儲身份驗證的資訊。此選項隻适用于之間的連接配接副本集的成員。

參見。

“ 副本設定安全 “和“ 副本集的管理 。“

nounixsocket¶

設定為true,禁用偵聽的unix插座上。除非設定為false,mongod和mongos的提供unix套接字。

unixsocketprefix ¶

預設值 :/ tmp目錄

指定的unix套接字的路徑。除非此選項的值,mongod mongos的的 ,建立一個套接字/ tmp作為字首。

fork¶

如果設定為true,則啟用守護模式mongod,運作過程中的背景。

auth¶

如果設定為true,則啟用資料庫使用者身份驗證來自遠端主機的連接配接。配置使用者通過蒙戈shell如果沒有使用者,本地主機接口将繼續對資料庫的通路,直到你建立的第一個使用者。

cpu¶

設定為true,強制mongod送出一次報告4秒的cpu使用率和的時間量,所述處理器等待i / o操作完成(即i / o等待。)mongodb中寫道:如果使用的資料輸出到标準輸出或日志檔案日志路徑選擇。

dbpath¶

default: /data/db/

将此值設定為指定的一個目錄的mongod 執行個體來存儲其資料。典型的地區包括:的/ srv / mongodb的的/ var / lib中/ mongodb的或者/ opt / mongodb的

除非另有規定,mongod将尋找資料檔案中的預設的/資料/ db目錄中。(windows系統下使用 data db目錄中。)如果您已安裝包中輸入sql查詢。檢查的/ etc / mongodb.conf中提供的檔案你的包看的dbpath的配置。

diaglog ¶

預設值:0

建立一個非常詳細的故障排除和診斷日志記錄各種錯誤。在mongodb中寫入這些日志檔案dbpath目錄中的字元串開頭的一系列檔案,diaglog啟動的時間記錄追加為十六進制string.

此設定的值配置水準詳細度可能的值,其影響如下:

{0}  {/0}value

設定

第0天

折!沒有記錄。

1

日志寫操作。

2

日志讀取操作。

3

日志讀取和寫入操作。

7

日志寫入和一些讀操作。

重播輸出,您可以使用mongosniff的工具進行調查。一個典型的diaglog檔案,位于/ data/db/diaglog.4f76a58c,你可以使用一個指令,在以下表格來讀取這些檔案:

mongosniff --source diaglog /data/db/diaglog.4f76a58c

diaglog是供内部使用,不用于最使用者。

的診斷級别設定為0,将導緻mongod 停止的診斷日志檔案寫入資料。但是,該的mongod執行個體将繼續保持打開該檔案,即使它不再将資料寫入到該檔案。如果你想重命名,移動或删除診斷日志,你必須完全關閉在這樣做之前下來的mongod執行個體。

directoryperdb¶

設定為true,修改的資料目錄中的存儲模式每個資料庫的檔案存儲在不同的檔案夾中。此選項在dbpath命名為每個建立目錄 directory.

在您的檔案系統和裝置的結合使用此選項mongodb的配置,以便将資料存儲在若幹不同的磁盤裝置的寫入吞吐量增加或磁盤容量。

journal¶

default: (on 64-bit systems) true

default: (on 32-bit systems) false

如果設定為true,則啟用記錄檔,以確定寫耐用性和資料的一緻性。

設定為false,以防止日志的情況下的開銷在耐用性不是必需的。為了減少影響,日志的磁盤使用情況,您可以将雜志 啟用,并設定為true,以降低smallfiles的大小資料和日志檔案。

journalcommitinterval¶

預設值:100

将此值設定為指定的時間上限mongod之間所允許的日志操作。預設的值是100毫秒。值越低,增加耐用性雜志上,在盡可能低的代價的磁盤性能。

此選項接受2和300毫秒之間的值。

要強制mongod更頻繁地送出到日志,您可以指定“j:”真實的“。當j:真正的寫操作, 待決,,mongod将減少journalcommitinterval定值的三分之一。

ipv6¶

設定為true,對ipv6的支援,允許用戶端連接配接到mongod mongod禁止使用ipv6的網絡。mongod和所有的工具在預設情況下的ipv6的支援。

jsonp¶

如果設定為true,則允許jsonp通過http通路界面考慮安全問題,使這活動設定此選項之前。

noauth¶

預設值:true

禁用身份驗證。目前預設值。為未來而存在相容性和清晰度。

為了保持一緻性,使用的身份驗證選項。

nohttpinterface¶

設定為true,禁用http接口。此指令将覆寫休息 ,禁用http接口,如果你同時指定。

在2.1.2版更改: nohttpinterface選項是不可用mongos的情況下才2.1.2

nojournal¶

預設值:(64位系統)假

預設值:(32位系統)的真實

設定帶有nojournal = true來禁用持久性日志。通過預設情況下,mongod可以在64位版本的日記後2.0。

noprealloc¶

設定noprealloc = true來禁用預配置設定的資料它的格式與 shell 的路徑設定一樣: 冒号分割多個路徑名(windows環境使用分号分割).這将縮短啟動時間在某些情況下,但可以在正常操作過程中,會導緻顯着的性能損失。

noscripting¶

設定noscripting = true來禁用腳本引擎。

notablescan¶

設定notablescan = true來禁止操作需要表掃描。

nssize¶

預設值:16

指定此值(以mb為機關)。

使用此設定來控制所有新建立的預設大小命名空間的檔案(即ns)。此選項有沒有影響現有的命名空間的檔案的大小。

預設值是16兆位元組,這提供了有效的12000可能的命名空間。的最大大小為2 gb。

profile¶

修改此值水準的資料庫分析,經營業績的資訊插入到輸出mongod或指定的日志檔案,如果日志路徑 。以下級别可供選擇:

水準

關。無分析。

開僅包括較慢的操作。

開包括所有的操作。

預設情況下的mongod禁用分析。資料庫分析可能會影響資料庫的性能,因為探查器必須記錄并處理所有的資料庫操作。啟用此選項後,才慎重考慮。

quota¶

設定為true, 以使最高限額為數字資料檔案每個資料庫都可以有。預設的配額是8個資料檔案,當配額是真實的。調整配額大小的quotafiles設定。

quotafiles¶

預設值:8

修改限制每個資料庫的資料檔案的數量。此選項需要配額設定。

rest¶

如果設定為true, 以使一個簡單的rest接口。

repair¶

設定為true,執行修複程式後對所有資料庫起動一般來說,你應該在指令行上設定此選項而不是在配置檔案或在控制腳本 。

使用mongod -修複選項來通路功能。

因為mongod重寫所有的資料庫檔案在維修過程中程式,如果你不運作維修 mongod通常運作在相同的使用者帳戶,您的資料庫檔案,您将需要運作 chown糾正的權限,然後再次啟動mongod。

repairpath¶

default: dbpath

指定的路徑mongodb的資料檔案所在的目錄,使用與修複設定一起或mongod -修複操作。預設的價值指定dbpath 。

slowms¶

指定以毫秒為機關的值。

設定的門檻mongod考慮查詢的“慢”資料庫中探查。該資料庫記錄了所有的查詢速度慢日志,即使當探查未啟用。當資料庫分析器是,mongod分析器寫入system.profile集合。

: profile

smallfiles¶

設定為true,修改mongodb的使用較小的預設資料{0}file{/0}{1}.size(){/1}具體來說, smallfiles降低了初始用于資料檔案和它們限制到512的大小兆位元組smallfiles設定也降低每個的大小雜志 1千兆位元組到128兆位元組的檔案。

如果你有大量的資料庫,使用smallfiles設定各自持有少量的資料。smallfiles設定導緻mongod建立很多檔案,這可能會影響更大的資料庫的性能。

syncdelay¶

預設值:60

此設定控制之間的最大秒數重新整理待寫入到磁盤中。而mongod總是将資料寫入磁盤,該設定控制了最大的保證一個成功的寫操作和下一次之間的間隔資料庫重新整理資料到磁盤上。

在許多情況下,實際的時間間隔之間的寫操作和磁盤重新整理比的值是更短的

如果設定為0,mongod重新整理到磁盤上的所有操作立即,可以具有顯着的性能的影響。if日記是真實的,所有的寫操作将是持久的,通過該雜志由指定的時間内journalcommitinterval 。

sysinfo¶

當設定為true,mongod傳回診斷系統關于頁面大小的資訊,實體頁的數目,可用的實體頁面輸出到标準輸出。

更典型地,執行此操作的方式的mongod - sysinfo的 當運作的sysinfo ,mongod隻輸出的頁面資訊,沒有資料庫過程将開始。

upgrade¶

當此選項設定為 true更新磁盤上的資料格式由dbpath到最新指定的檔案版本,如果需要的話。

此選項僅影響操作的mongod資料檔案是在一個舊的格式。

指定的mongos的執行個體時,該選項将更新使用配置資料庫的中繼資料格式。

在大多數情況下,你不應該設定這個值,這樣你就可以行使最大程度地控制您的更新過程。請參閱mongodb的發行說明 (下載下傳頁面)有關更新過程的更多資訊。

traceexceptions¶

對于使用内部診斷。

複制選項¶

replset¶

預設值:<</em>無>

形式:

使用此設定來配置複制的副本sets指定副本組的名稱作為參數,這一套。所有主機必須具有相同的組名稱。

複制“ 副本集管理 ,““ 副本集的配置 “

oplogsize¶

複制操作指定的最大大小(以兆位元組為機關)日志(例如oplog )。mongod建立一個oplog的基礎上的最大可用空間量。對于64位系統,oplog一般是5%的可用磁盤空間。

一旦mongod已為先建立的oplog時間,改變oplogsize不會影響的大小oplog。

fastsync¶

在副本集複制的情況下,設定此選項為true,如果你已經接種了該副本的快照dbpath的另一名成員的集合。否則,mongod将嘗試執行完全同步。

如果資料還沒有完美的同步和 mongod與fastsync開始,然後中學或從站将永久不同步國小,這可能會導緻顯着的一緻性問題。

replindexprefetch¶

新的2.2版本中。

預設值: 所有

值: 所有 , 沒有,_id_only

您,必須使用replindexprefetch在配合replset 。

預設情況下, 二級的副本內建員加載到記憶體中的所有相關名額的操作前應用的oplog操作。您可以修改此行為,以便輔助将隻加載的_id指數。指定_id_only或沒有 ,以防止mongod任何索引加載到記憶體中。

主/從複制¶

master¶

設定為 true配置作為目前執行個體複制配置中的主執行個體中。

slave¶

設定為 true配置作為目前執行個體從例如,在複制配置。

source¶

default: <>

form: :

的奴隸設定指定主執行個體, 從執行個體将複制

only¶

從選項, 隻設定與使用僅指定一個單一的資料庫進行複制。

slavedelay¶

奴隸的設定與使用,slavedelay設定在幾秒鐘内配置一個“延遲”,該從站等待申請從主執行個體操作。

autoresync¶

使用的奴隸設定,設定autoresync如果真給力的奴隸 ,自動重新同步超過10秒,後面的主。該設定可能問題,如果- oplogsize oplog太小“(控制的- oplogsize選項。)如果oplog并不大足夠的存儲高手之間的差異目前的狀況和狀态的奴隸,這種情況下會強制重新同步本身是不必要的。當你設定autoresync時 選項,從站将不會嘗試自動重新同步多一旦在10分鐘内。

分片群集選項¶

configsvr¶

将此值設定為true,配置mongod 執行個體操作的配置資料庫的碎片n.束,組;n.組,簇mongod使用此選項的預設端口27019 mongod寫的所有的資料檔案/ configdb的子目錄的dbpath目錄的。

shardsvr¶

将此值設定為true,配置mongod 例如在一個分區的簇的碎片。的預設端口這種情況下是27018。

nomoveparanoia¶

當設定為true, nomoveparanoia禁用“偏執模式”的資料塊遷移操作中寫道。請參閱塊遷移和movechunk指令的文檔了解更多資訊。

預設情況下,,mongod将節省遷移資料塊的副本“從”伺服器遷移過程中的“偏執模式”。設定此選項禁用此偏執狂。

configdb¶

格式 :, <:端口>,

設定此選項來指定配置資料庫(即配置資料庫 )的片式叢集 。你開始了調查分析儀,必須指定配置伺服器或3配置伺服器,以逗号分隔的清單。

此設定隻影響mongos的過程。

test¶

隻有運作單元測試不會啟動mongos的的的的執行個體。

此設定隻影響mongos的程序,并為隻使用内部測試。

chunksize¶

預設值:64

此選項的值的大小決定了每塊 各地的片式叢集分布的資料。預設的值是64兆位元組。較大的塊可能會導緻不均勻的分布的資料,而較小的資料塊可能會導緻頻繁和不必要的遷移。然而,在某些情況下,它可能是需要設定不同的塊大小。

此設定隻影響mongos的過程。除此之外,在初始化時, chunksize 隻設定塊大小為第一次的群集。如果你修改了運作時選項後,新的值将沒有任何效果。請參閱“ 修改塊大小 “的過程,如果你需要改變的塊大小,在現有的片式叢集。

localthreshold¶

localthreshold影響程式的邏輯:mongos的 使用時,選擇副本內建員通過讀取操作從用戶端。指定一個值localthreshold以毫秒為機關。預設值是15,其對應于所有的用戶端中的預設值。

當mongos的接收到一個請求,允許讀取二級會員, mongos的 :

找到最近的合适的設定,成員的ping時間。 建構副本內建員的清單,是在平最近的合适成員,時間為15毫秒s

如果你指定值localthreshold ,mongos的将建構的副 本成員名單此值所允許的延遲内。

mongos的會選擇一個成員,從在讀從這個名單中随機。

繼續閱讀