MongoDB的安装及配置文件选项全解

MongoDB的安装及配置文件选项全解,第1张

概述安装部分1.安装包1.1mongodb-org可以自动安装以下的四个包1.2mongodb-org-servermongod进程和配置文件,启动脚本

安装部分
1. 安装包
1.1 mongodb-org
可以自动安装以下的四个包
1.2 mongodb-org-server
mongod进程和配置文件,启动脚本
1.3 mongodb-org-mongos
mongos进程
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 Repositorybaseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/gpgcheck=0enabled=1

如果是32bit系统

[mongodb]name=MongoDB Repositorybaseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686/gpgcheck=0enabled=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. 运行mongodb
注意mongodb的默认端口和SElinux服务的状态。
数据文件目录:/var/lib/mongo ,日志文件目录: /var/log/mongo。
改变/var/lib/mongo和/var/log/mongo权限为mongodb的运行者。
4.1 启动mongodb

sudo service mongod start

4.2 证实mongodb启动成功
检查mongodb日志文件/var/log/mongodb/mongod.log。
把mongodb加入开机启动服务:

sudo chkconfig mongod on 

4.3 关闭mongodb服务

sudo service mongod stop

4.4 重启mongodb服务

sudo service mongod restart

4.5 开始使用mongodb

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

我的mongodb配置文件:

systemLog:  destination: file path: "/var/log/mongo/mongod.log" quIEt: true logAppend: true timeStampformat: iso8601-utcstorage:  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: 100processManagement:  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"

设置选项

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实例会一直监听UNIX
socket,除非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为一个主进程。

PS:
1.仅mongos选项

replication.localPingThresholdMs

integer,默认15
当客户端选定副本集进行读 *** 作时受影响。

sharding.autoSplit

boolean
防止mongos自动在一个分片集合中插入元数据。
因为任何的mongos都可以创建一个分离,如果打开该选项,将会导致分片不平衡,需要谨慎使用。

sharding.configDB

string
指定配置数据库。可以使用逗号分隔一到三个服务器。
如果处于不同的位置,需要指定最近的一个。
不能移除配置服务器,即使不可用或者离线了。

sharding.chunkSize

integer,默认为64
每个块的大小。64MB是理想大小,小的会导致不能在不同节点间高效移动。
仅仅在初始化时有效。

2.windows服务选项

processManagement.windowsService.servicename

string,默认为MongoDB
指定mongodb服务名称。可以使用--install,--remove增加或删除。

processManagement.windowsService.displayname

string,默认为MongoDB
设置mongodb服务应用程序的名称。

processManagement.windowsService.description

string,默认为MongoDB Server
结合--install,必须指定该选项的值。

processManagement.windowsService.serviceUser

指定运行mongodb服务的用户

processManagement.windowsService.servicePassword

指定运行mongodb服务的用户的密码

您可能感兴趣的文章:Linux系统下MongoDB的简单安装与基本 *** 作mongodb在windows下的安装步骤分享windows下mongodb安装与使用图文教程(整理)在Mac OS上安装使用MongoDB的教程MongoDB入门教程(包含安装、常用命令、相关概念、使用技巧、常见 *** 作等)Ubuntu中安装MongoDB及执行一些简单 *** 作笔记centos yum 安装 mongodb 以及php扩展CentOS 6.5系统中使用yum安装MongoDB 2.6 教程Ubuntu系统中安装MongoDB及其启动命令mongod的教程linux系统下MongoDB单节点安装教程 总结

以上是内存溢出为你收集整理的MongoDB的安装及配置文件选项全解全部内容,希望文章能够帮你解决MongoDB的安装及配置文件选项全解所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1294220.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存