佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > MongoDB的安裝及配置文件選項(xiàng)全解

MongoDB的安裝及配置文件選項(xiàng)全解

熱門標(biāo)簽:網(wǎng)站排名優(yōu)化 呼叫中心市場需求 服務(wù)外包 地方門戶網(wǎng)站 百度競價(jià)排名 鐵路電話系統(tǒng) AI電銷 Linux服務(wù)器

安裝部分
1. 安裝包
1.1 mongodb-org
可以自動安裝以下的四個(gè)包
1.2 mongodb-org-server
mongod進(jìn)程和配置文件,啟動腳本
1.3 mongodb-org-mongos
mongos進(jìn)程
1.4 mongodb-org-shell
mongo shell
1.5 mongodb-org-tools
其他mongodb工具,mongoimport,mongoexport,mongodump,mongrestore,mongofiles,bsondump,mongooplog,mongoperf,mongostat,mongotop,(mongosniff)

2. 腳本文件
2.1 /etc/rc.d/init.d/mongod
啟動腳本
2.2 /etc/mongod.conf
配置文件

3. 安裝mongodb
3.1 配置yum源

 /etc/yum.repos.d/mongodb.repo ->
[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1

如果是32bit系統(tǒng)

[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686/
gpgcheck=0
enabled=1

3.2 安裝mongodb版本

sudo yum install mongodb-org

安裝指定版本mongodb
yum install mongodb-org-2.6.1 mongodb-org-server-2.6.1 mongodb-org-shell-2.6.1 mongodb-org-mongos-2.6.1 mongodb-org-tools-2.6.1
3.3 為了避免無意識的升級

 /etc/yum.conf ->
 exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools
4. 運(yùn)行mongodb
注意mongodb的默認(rèn)端口和SELinux服務(wù)的狀態(tài)。
數(shù)據(jù)文件目錄:/var/lib/mongo ,日志文件目錄: /var/log/mongo。
改變/var/lib/mongo和/var/log/mongo權(quán)限為mongodb的運(yùn)行者。
4.1 啟動mongodb

sudo service mongod start

4.2 證實(shí)mongodb啟動成功
檢查mongodb日志文件/var/log/mongodb/mongod.log。
把mongodb加入開機(jī)啟動服務(wù):

sudo chkconfig mongod on 

4.3 關(guān)閉mongodb服務(wù)

sudo service mongod stop

4.4 重啟mongodb服務(wù)

sudo service mongod restart

4.5 開始使用mongodb

配置文件部分
MongoDB引入一個(gè)YAML-based格式的配置文件。2.4版本以前的仍然兼容。

我的mongodb配置文件:

systemLog: 
 destination: file
 path: "/var/log/mongo/mongod.log"
 quiet: true
 logAppend: true
 timeStampFormat: iso8601-utc
storage: 
 dbPath: "/var/lib/mongo"
 directoryPerDB: true
 indexBuildRetry: false
 preallocDataFiles: true
 nsSize: 16
# quota:
#  enforced: false
#  maxFilesPerDB: 8
 smallFiles: false
 syncPeriodSecs: 60
# repairPath: "/var/lib/mongo/_tmp"
 journal:
  enabled: true
#  debugFlags: 1
  commitIntervalMs: 100
processManagement: 
 fork: true
 pidFilePath: "/var/run/mongodb/mongod.pid"
net: 
# bindIp: 192.168.11.52 
 port: 27017
 http:
  enabled: true
  RESTInterfaceEnabled: false 
# ssl:
#  mode: "requireSSL"
#  PEMKeyFile: "/etc/ssl/mongodb.pem"
operationProfiling:
 slowOpThresholdMs: 100 
 mode: "slowOp"
security:
 keyFile: "/var/lib/mongo/mongodb-keyfile"
 clusterAuthMode: "keyFile"
 authorization: "disabled"
replication:
 oplogSizeMB: 50
 replSetName: "repl_test"
 secondaryIndexPrefetch: "all"

設(shè)置選項(xiàng):

1. systemLog

systemLog.verbosity 

integer

日志文件輸出的級別,越大級別越低。

systemLog.quite

boolean

在quite模式下會限制輸出信息:
數(shù)據(jù)庫命令輸出,副本集活動,連接接受事件,連接關(guān)閉事件。

systemLog.traceAllExceptions 

string

打印verbose信息來調(diào)試,用來記錄證額外的異常日志。

systemLog.syslogFacility

string,默認(rèn)為user
指定syslog日志信息的設(shè)備級別。需要指定--syslog來使用這個(gè)選項(xiàng)。

systemLog.path string

發(fā)送所有的診斷信息日志,默認(rèn)重啟后會覆蓋。

systemLog.logAppend

boolean
是否啟用追加日志。

systemLog.destination

string
指定一個(gè)文件或syslog。如果指定為文件,必須同時(shí)指定systemLog.path

systemLog.timeStampFormat

string,默認(rèn)為iso8601-local
日志信息中的時(shí)間戳格式:

ctime,iso8601-utc,iso8601-local

2. processManagement

processManagement.pidFilePath

string
指定進(jìn)程的ID,與--fork配合使用,不指定則不會創(chuàng)建。

processManagement.fork

boolean,默認(rèn)為false
是守護(hù)進(jìn)程在后臺運(yùn)行。

3. net

net.port

interger,默認(rèn)為27017
mongodb實(shí)例監(jiān)聽的端口號。

net.bindIp

string,2.6版本默認(rèn)為127.0.0.1
指定mongodb實(shí)例綁定的ip,為了綁定多個(gè)ip,可以使用逗號分隔。

net.maxIncomingConnections

integer 默認(rèn)為1000000
mongodb實(shí)例接受的最多連接數(shù),如果高于操作系統(tǒng)接受的最大線程數(shù),設(shè)置無效。

net.wireObjectCheck

boolean,默認(rèn)為true
檢查文檔的有效性。會稍微影響性能。

net.http.enabled

boolean,默認(rèn)為false
打開http端口,會導(dǎo)致更多的不安全因素。

net.unixDomainSocket.enabled

boolean,默認(rèn)為false
停止UNIX domain socket監(jiān)聽。
mongodb實(shí)例會一直監(jiān)聽UNIX
socket,除非net.unixDomainSocket.enabled設(shè)置為true,bindIp沒有設(shè)置,bindIp沒有默認(rèn)指定為127.0.0.1。

net.unixDomainSocket.pathPrefix

string,默認(rèn)為/tmp
unix Socket所在的路徑。

net.ipv6

boolean,默認(rèn)為false
打開IPV6功能,默認(rèn)為關(guān)閉的。

net.http.JSONPEnabled

boolean,默認(rèn)為false
運(yùn)行json訪問http端口,打開會導(dǎo)致更多的不安全因素。

net.http.RESTInterfaceEnabled

boolean,默認(rèn)為false
即使http接口選項(xiàng)關(guān)閉,打開也會暴露http接口,會導(dǎo)致更多的不安全因素。

4. security

security.keyFile

string
指定分片集或副本集成員之間身份驗(yàn)證的key文件存儲位置。

security.clusterAuthMode

string
集群認(rèn)證中利用到這個(gè)模式,如果使用x.509安全機(jī)制,可以在這里指定。

keyFile,sendKeyFile,sendX509,x509

默認(rèn)的mongodb發(fā)行版是不支持ssl的,可以使用專業(yè)版的或重新自行編譯mongodb。

security.authorization

string,默認(rèn)為disabled
打開訪問數(shù)據(jù)庫和進(jìn)行操作的用戶角色認(rèn)證。
enabled,disabled

5. operationProfiling

operationProfiling.slowOpThresholdMs

integer,默認(rèn)100
指定慢查詢時(shí)間,單位毫秒,如果打開功能,則向system.profile集合寫入數(shù)據(jù)。

operationProfiling.mode

integer,默認(rèn)0
改變分析日志輸出級別。
0,1,2,分別對應(yīng)關(guān)閉,僅打開慢查詢,記錄所有操作。

6. storage

storage.dbPath

string
指定數(shù)據(jù)文件的路徑。

storage.directoryPerDB

boolean,默認(rèn)關(guān)閉
指定存儲每個(gè)數(shù)據(jù)庫文件到單獨(dú)的數(shù)據(jù)目錄。如果在一個(gè)已存在的系統(tǒng)使用該選項(xiàng),需要事先把存在的數(shù)據(jù)文件移動到目錄。

storage.indexBuildRetry

boolean,默認(rèn)為true
指定數(shù)據(jù)庫在索引建立過程中停止,重啟后是否重新建立索引。

storage.preallocDataFiles

boolean,默認(rèn)true
是否預(yù)先分片好數(shù)據(jù)文件。

storage.nsSize

integer,默認(rèn)16
指定命名空間的大小,即.ns后綴的文件。最大為2047MB,16M文件可以提供大約24000個(gè)命名空間。

storage.quota.enforced

boolean,默認(rèn)false
限制每個(gè)數(shù)據(jù)庫的數(shù)據(jù)文件數(shù)目??梢酝ㄟ^maxFilesPerDB調(diào)整數(shù)目。

storage.quota.maxFilesPerDB

integer,默認(rèn)為8
限制每個(gè)數(shù)據(jù)庫的數(shù)據(jù)文件數(shù)目。

storage.smallFiles

boolean,默認(rèn)為false
限制mongodb數(shù)據(jù)文件大小為512MB,減小journal文件從1G到128M,適用于有很多數(shù)量小的數(shù)據(jù)文件。

storage.syncPeriodSecs

number,默認(rèn)60
mongodb文件刷新頻率,盡量不要在生產(chǎn)環(huán)境下修改。
storage.repairPath
string,默認(rèn)為指定dbpath下的_tmp目錄。
指定包含數(shù)據(jù)文件的根目錄,進(jìn)行--repair操作。

storage.journal.enabled

boolean,默認(rèn)64bit為true,32bit為false
記錄操作日志,防止數(shù)據(jù)丟失。

storage.journal.debugFlags

integer
提供數(shù)據(jù)庫在非正常關(guān)閉下的功能測試。

storage.journal.commitIntervalMs

number,默認(rèn)為100或30
journal操作的最大間隔時(shí)間。可以是2-300ms之間的值,低的值有助于持久化,但是會增加磁盤的額外負(fù)擔(dān)。
如果journal和數(shù)據(jù)文件在同一磁盤上,默認(rèn)為100ms。如果在不同的磁盤上為30ms。
如果強(qiáng)制mongod提交日志文件,可以指定j:true,指定后,時(shí)間變?yōu)樵瓉淼娜种弧?/p>

7. replication

replication.oplogSizeMB

integer,默認(rèn)為磁盤的5%
指定oplog的最大尺寸。對于已經(jīng)建立過oplog.rs的數(shù)據(jù)庫,指定無效。

replication.replSetName

string
指定副本集的名稱。

replication.secondaryIndexPrefetch

string,默認(rèn)為all
指定副本集成員在接受oplog之前是否加載索引到內(nèi)存。默認(rèn)會加載所有的索引到內(nèi)存。
none,不加載;all,加載所有;_id_only,僅加載_id。

8. sharding

sharding.clusterRole

string
指定分片集的mongodb角色。
configsvr,配置服務(wù)器,端口27019;shardsvr,分片實(shí)例,端口27018。

sharding.archiveMovedChunks

integer
在塊移動過程中,該選項(xiàng)強(qiáng)制mongodb實(shí)例保存所有移動的文檔到moveChunk目錄。

9. auditLog

auditLog.destination

string
syslog,以json格式保存身份驗(yàn)證到syslog,windows下不可用,serverity級別為info,facility級別為user。
console,以json格式輸出信息到標(biāo)準(zhǔn)輸出。
file,以json格式輸出信息到文件。

auditLog.format

string
指定輸出文件的格式
JSON,輸出json格式文件;BSON,輸出bson二進(jìn)制格式文件。

auditLog.path

string
如果--auditDestination的值為file,則該選項(xiàng)指定文件路徑。

auditLog.filter

document
指定過濾系統(tǒng)身份驗(yàn)證的格式為:

{ atype : expression> }
{ atype: expression>, "param.db": database> }

10. snmp

snmp.subagent

boolean
運(yùn)行SNMP為一個(gè)子代理。

snmp.master

boolean
運(yùn)行SNMP為一個(gè)主進(jìn)程。

PS:
1.僅mongos選項(xiàng)

replication.localPingThresholdMs

integer,默認(rèn)15
當(dāng)客戶端選定副本集進(jìn)行讀操作時(shí)受影響。

sharding.autoSplit

boolean
防止mongos自動在一個(gè)分片集合中插入元數(shù)據(jù)。
因?yàn)槿魏蔚膍ongos都可以創(chuàng)建一個(gè)分離,如果打開該選項(xiàng),將會導(dǎo)致分片不平衡,需要謹(jǐn)慎使用。

sharding.configDB

string
指定配置數(shù)據(jù)庫。可以使用逗號分隔一到三個(gè)服務(wù)器。
如果處于不同的位置,需要指定最近的一個(gè)。
不能移除配置服務(wù)器,即使不可用或者離線了。

sharding.chunkSize

integer,默認(rèn)為64
每個(gè)塊的大小。64MB是理想大小,小的會導(dǎo)致不能在不同節(jié)點(diǎn)間高效移動。
僅僅在初始化時(shí)有效。

2.Windows服務(wù)選項(xiàng)

processManagement.windowsService.serviceName

string,默認(rèn)為MongoDB
指定mongodb服務(wù)名稱??梢允褂?-install,--remove增加或刪除。

processManagement.windowsService.displayName

string,默認(rèn)為MongoDB
設(shè)置mongodb服務(wù)應(yīng)用程序的名稱。

processManagement.windowsService.description

string,默認(rèn)為MongoDB Server
結(jié)合--install,必須指定該選項(xiàng)的值。

processManagement.windowsService.serviceUser

指定運(yùn)行mongodb服務(wù)的用戶

processManagement.windowsService.servicePassword

指定運(yùn)行mongodb服務(wù)的用戶的密碼

您可能感興趣的文章:
  • Mac中mongoDB的安裝與卸載步驟詳解
  • 在Mac OS上安裝使用MongoDB的教程
  • mac下安裝和配置mongodb的步驟詳解
  • mac下使用brew 安裝mongodb的方法教程
  • MongoDB的安裝方法圖文教程
  • 在mac系統(tǒng)下安裝與配置mongoDB數(shù)據(jù)庫

標(biāo)簽:湘潭 銅川 崇左 湖南 黃山 衡水 蘭州 仙桃

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MongoDB的安裝及配置文件選項(xiàng)全解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    广宁县| 舞阳县| 宝兴县| 彰化县| 古浪县| 宜州市| 荣成市| 乌兰浩特市| 泗洪县| 平乡县| 吉木萨尔县| 江永县| 博客| 全椒县| 噶尔县| 布尔津县| 渝中区| 收藏| 伊金霍洛旗| 陆河县| 博客| 二手房| 永昌县| 桃园市| 山西省| 银川市| 神木县| 荆州市| 额尔古纳市| 嘉善县| 治多县| 桃源县| 建宁县| 家居| 林周县| 卢龙县| 大悟县| 甘谷县| 张家川| 滁州市| 佛山市|