MongoDB中yaml模式配置文件實現(xiàn)方式
MongoDB中yaml模式配配置文件
mongodb3.x版本后就是要yaml語法格式的配置文件,
下面是yaml配置文件格式如下:
官方y(tǒng)aml配置文件選項參考:https://docs.mongodb.org/manual/ ... #configuration-file
切記:yaml格式的配置文件中只能使用空格,不支持tab鍵,一旦使用tab鍵,啟動mongod服務(wù)是就會報錯!??!
系統(tǒng)日志相關(guān)的配置
systemLog: destination: file --指定一個文件 path: "/mongodb/log/mongodb.log" --日志位置 logAppend: true --日志以追加模式記錄 quiet: true --在quite模式下會限制輸出信息 timeStampFormat: iso8601-utc --默認(rèn)是iso8601-local,日志信息中還有其他時間戳格式:ctime,iso8601-utc,iso8601-local #最后兩個參數(shù)不常用。
數(shù)據(jù)存儲相關(guān)的配置
storage:
journal: --是否開啟redo日志
enabled: true
dbPath: "/mongodb/data" --數(shù)據(jù)存放的路徑
directoryPerDB: true --指定存儲每個數(shù)據(jù)庫文件到單獨的數(shù)據(jù)目錄。如果在一個已存在的系統(tǒng)使用該選項,需要事先把存在的數(shù)據(jù)文件移動到目錄。
engine: wiredTiger --指定mongodb數(shù)據(jù)引擎 默認(rèn)為wiredTiger,也可不用指定
wiredTiger:
engineConfig: --wt引擎配置
cacheSizeGB: 1 --數(shù)據(jù)緩沖區(qū)的大小, 類似mysql中buffer pool;此值決定了 wiredTiger 與 mmapv1 的內(nèi)存模型不同,它可以限制 mongod 對內(nèi)存的使用量,而 mmapv1 則不能(依賴于系統(tǒng)級的 mmap)。默認(rèn)情況下,cacheSizeGB 的值為假定當(dāng)前節(jié)點只部署一個 mongod 實例,此值的大小為物理內(nèi)存的一半;如果當(dāng)前節(jié)點部署了多個 mongod 進(jìn)程,那么需要合理配置此值。如果 mongod 部署在虛擬容器中(比如,lxc,cgroups,Docker)等,它將不能使用整個系統(tǒng)的物理內(nèi)存,則需要適當(dāng)調(diào)整此值。默認(rèn)值為物理內(nèi)存的一半
directoryForIndexes: true --是否將索引也按數(shù)據(jù)庫名單獨存儲
collectionConfig: --表壓縮配置;
blockCompressor: zlib --(默認(rèn)snappy,還可選none、zlib) 壓縮 算法 Tips:性能: none > snappy >zlib 壓縮比:zlib > snappy > none
indexConfig: --索引配置
prefixCompression: true
operationProfiling:
slowOpThresholdMs: <NUM> --指定慢查詢時間,單位毫秒,如果打開功能,則向system.profile集合寫入數(shù)據(jù)
mode: "slowOp" --off、slowOp、all,分別對應(yīng)關(guān)閉,僅打開慢查詢,記錄所有操作。
進(jìn)程控制相關(guān)的配置
processManagement: fork: true --后臺守護(hù)進(jìn)程 pidFilePath: <string> --pid文件的位置,一般不用配置,可以去掉這行,自動生成到data中
網(wǎng)絡(luò)相關(guān)的配置
net: bindIp: <ip> -- 監(jiān)聽地址,如果不配置這行是監(jiān)聽在0.0.0.0 port: <port> -- 端口號,默認(rèn)不配置端口號,是27017 maxIncomingConnections:<NUM> --默認(rèn)65535,mongodb實例接受的最多連接數(shù),如果高于操作系統(tǒng)接受的最大線程數(shù),設(shè)置無效。
安全驗證相關(guān)的配置
security:
keyFile: "/data/mongodb-keyfile" --指定分片集或副本集成員之間身份驗證的key文件存儲位置
clusterAuthMode: "keyFile" --集群認(rèn)證模式,默認(rèn)是keyFile
authorization: "disabled" --訪問數(shù)據(jù)庫和進(jìn)行操作的用戶角色認(rèn)證復(fù)制集相關(guān)的配置
replication: oplogSizeMB: <NUM> --默認(rèn)為磁盤的5%,指定oplog的最大尺寸。對于已經(jīng)建立過oplog.rs的數(shù)據(jù)庫,指定無效 replSetName: "<REPSETNAME>" --指定副本集的名稱 secondaryIndexPrefetch: "all" --指定副本集成員在接受oplog之前是否加載索引到內(nèi)存。默認(rèn)會加載所有的索引到內(nèi)存。none不加載;all加載所有;_id_only僅加載_id
分片集相關(guān)的配置
sharding: clusterRole: <string> --指定當(dāng)前分片在集群中的角色:configsvr或shardsvr;shardsvr:表明是的后端shard節(jié)點 configsvr:表明在集群中的角色是config server配置節(jié)點 archiveMovedChunks: <boolean>
config server相關(guān)的配置
sharding: clusterRole: configsvr --配置config server節(jié)點時,需要在分片配置中指定當(dāng)前節(jié)點為config server
mongos 相關(guān)的配置
(mongos節(jié)點是前端路由,客戶端由此接入。mongos節(jié)點一般不存儲數(shù)據(jù),所以配置文件中無需配置"storage"信息)
sharding: configDB: <config server/IP...> --告訴mongos節(jié)點config server的地址信息。將整個config server復(fù)制集都告訴mongos,這樣即使config server復(fù)制集中有一臺config server損壞,mongos可以自動連接復(fù)制集中的其它config server. 如: sharding: configDB: configReplSet/10.0.0.51:38018,10.0.0.51:38019,10.0.0.51:38020
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
springboot 在xml里讀取yml的配置信息的示例代碼
這篇文章主要介紹了springboot 在xml里讀取yml的配置信息的示例代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09
SpringBoot thymeleaf eclipse熱部署方案操作步驟
今天小編就為大家分享一篇關(guān)于SpringBoot thymeleaf eclipse熱部署方案操作步驟,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03
Spring Boot 2 整合 QuartJob 實現(xiàn)定時器實時管理功能
Quartz是一個完全由java編寫的開源作業(yè)調(diào)度框架,形式簡易,功能強(qiáng)大。接下來通過本文給大家分享Spring Boot 2 整合 QuartJob 實現(xiàn)定時器實時管理功能,感興趣的朋友一起看看吧2019-11-11
Java之InputStreamReader類的實現(xiàn)
這篇文章主要介紹了Java之InputStreamReader類的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
基于Springboot+Netty實現(xiàn)rpc的方法 附demo
這篇文章主要介紹了基于Springboot+Netty實現(xiàn)rpc功能,在父項目中引入相關(guān)依賴結(jié)合實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-02-02

