源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-09-22 21:12 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:MongoDB的安装及配置文件选项全解
[b]安装部分 [/b][b]1. 安装包 [/b]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) [b]2. 脚本文件 [/b]2.1 /etc/rc.d/init.d/mongod 启动脚本 2.2 /etc/mongod.conf 配置文件 [b]3. 安装mongodb [/b]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系统
[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 [code]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 [/code]3.3 为了避免无意识的升级
 /etc/yum.conf ->
 exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools
[b]4. 运行mongodb [/b]注意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 [b]配置文件部分 [/b]MongoDB引入一个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"
[b]设置选项:[/b] [b]1. systemLog [/b]
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
[b]2. processManagement [/b]
processManagement.pidFilePath
string 指定进程的ID,与--fork配合使用,不指定则不会创建。
processManagement.fork
boolean,默认为false 是守护进程在后台运行。 [b]3. net [/b]
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接口,会导致更多的不安全因素。 [b]4. security [/b]
security.keyFile
string 指定分片集或副本集成员之间身份验证的key文件存储位置。
security.clusterAuthMode
string 集群认证中利用到这个模式,如果使用x.509安全机制,可以在这里指定。
keyFile,sendKeyFile,sendX509,x509
默认的mongodb发行版是不支持ssl的,可以使用专业版的或重新自行编译mongodb。
security.authorization
string,默认为disabled 打开访问数据库和进行操作的用户角色认证。 enabled,disabled [b]5. operationProfiling [/b]
operationProfiling.slowOpThresholdMs
integer,默认100 指定慢查询时间,单位毫秒,如果打开功能,则向system.profile集合写入数据。
operationProfiling.mode
integer,默认0 改变分析日志输出级别。 0,1,2,分别对应关闭,仅打开慢查询,记录所有操作。 [b]6. storage [/b]
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,指定后,时间变为原来的三分之一。 [b]7. replication [/b]
replication.oplogSizeMB
integer,默认为磁盘的5% 指定oplog的最大尺寸。对于已经建立过oplog.rs的数据库,指定无效。
replication.replSetName
string 指定副本集的名称。
replication.secondaryIndexPrefetch
string,默认为all 指定副本集成员在接受oplog之前是否加载索引到内存。默认会加载所有的索引到内存。 none,不加载;all,加载所有;_id_only,仅加载_id。 [b]8. sharding [/b]
sharding.clusterRole
string 指定分片集的mongodb角色。 configsvr,配置服务器,端口27019;shardsvr,分片实例,端口27018。
sharding.archiveMovedChunks
integer 在块移动过程中,该选项强制mongodb实例保存所有移动的文档到moveChunk目录。 [b]9. auditLog [/b]
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> }
[b]10. snmp [/b]
snmp.subagent
boolean 运行SNMP为一个子代理。
snmp.master
boolean 运行SNMP为一个主进程。 PS: [b]1.仅mongos选项 [/b]
replication.localPingThresholdMs
integer,默认15 当客户端选定副本集进行读操作时受影响。
sharding.autoSplit
boolean 防止mongos自动在一个分片集合中插入元数据。 因为任何的mongos都可以创建一个分离,如果打开该选项,将会导致分片不平衡,需要谨慎使用。
sharding.configDB
string 指定配置数据库。可以使用逗号分隔一到三个服务器。 如果处于不同的位置,需要指定最近的一个。 不能移除配置服务器,即使不可用或者离线了。
sharding.chunkSize
integer,默认为64 每个块的大小。64MB是理想大小,小的会导致不能在不同节点间高效移动。 仅仅在初始化时有效。 [b]2.Windows服务选项 [/b]
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服务的用户的密码
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部