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

安装部分
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 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
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-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"

设置选项:

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服务的用户的密码

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索安装
, mongodb
, 配置文件
配置
mongodb配置文件详解、jira解决结果选项配置、mongodb 配置文件、mongodb 配置、mongodb 配置文件启动,以便于您获取更多的相关知识。

时间: 2024-09-11 11:42:26

MongoDB的安装及配置文件选项全解_MongoDB的相关文章

Linux下MongoDB的安装,通过配置文件启动Mongodb的方式研究,mongodb自启动脚本(Linux),Windows下安装MongoDB服务

关于MongoDB的windows的 安装,可以参考: http://www.runoob.com/mongodb/mongodb-window-install.html 关于Linux的安装可以参考: http://www.runoob.com/mongodb/mongodb-linux-install.html 使用MongoDB的场景: A:需要写入大量的数据,但是这些数据的价值并不是太高,比如:日志 B:数据增长量较大,而且数据结构有时候还不一致 C:未来数据会很大. 注意:Mongod

MongoDB Windows安装服务方法与注意事项_MongoDB

MongoDB Windows安装服务 MongoDB作为一个基于分布式文件存储的数据库,近两年大受追捧.数据灵活的存取方式和高效的处理使得它广泛用于互联网应用. 最近本人开始在Windows 32位平台下研究MongoDB的使用,为了方便,本人更喜欢将其安装为Windows的系统服务.这样就不用每次开一个mongod的主流程序了. 但是在网上搜索的命令有时候并没有让服务成功注册,出现若干问题.接下来我将写出我所遇到的问题和解决办法. 首先从MongoDB官方下载最新的发行版本:http://w

Centos使用yum安装gd库过程全解

在Centos系统安装完成之后,在配置环境的过程中 往往需要gd库的运行,特别是用来处理图片的API,或是使用GD库来生成图片.处理图片等等,都是需要gd库的支持的! &http://www.aliyun.com/zixun/aggregation/37954.html">nbsp; GD库的作用:   GD库可以用来生成缩略图.针对图片加水印.用汉字来生成验证码,或是对网站数据生成报表等.   GD库的安装:   我们可以直接使用yum命令来安装,自动解决依赖关系及安装GD库相关

mongodb 添加用户及权限设置详解_MongoDB

例如:mysql安装配置好后,有一个自带的mysql数据库,里面有一张user表,用来存放用户,以及用户权限,而mongodb这个最像关系型的数据库,有没有这样的表呢. 一,掌握权限,理解下面4条基本上就差不多 1,mongodb是没有默认管理员账号,所以要先添加管理员账号,在开启权限认证. 2,切换到admin数据库,添加的账号才是管理员账号. 3,用户只能在用户所在数据库登录,包括管理员账号. 4,管理员可以管理所有数据库,但是不能直接管理其他数据库,要先在admin数据库认证后才可以.这一

MongoDB入门教程之主从复制配置详解_MongoDB

    从这一篇开始我们主要讨论mongodb的部署技术.     我们知道sql server能够做到读写分离,双机热备份和集群部署,当然mongodb也能做到,实际应用中我们不希望数据库采用单点部署, 如果碰到数据库宕机或者被毁灭性破坏那是多么的糟糕.  一:主从复制 1: 首先看看模型图   2: 从上面的图形中我们可以分析出这种架构有如下的好处:      <1>  数据备份.      <2>  数据恢复.      <3>  读写分离.  3:下面我们就一一

CentOS系统MongoDB 编译安装教程详解

CentOS5编译安装mongodb mongodb有已经编译好的二进制包,解压到对应目录就可以使用. 下面介绍一下,怎么从源码进行编辑安装. 安装前: 安装scons wget http://prdownloads.sourceforge.net/scons/scons-2.3.4.tar.gz python setup.py install 下载mongodb源码&安装: wget https://github.com/mongodb/mongo/archive/r2.2.7-rc0.tar

window平台安装MongoDB数据库图文详解_MongoDB

本文介绍了window平台安装MongoDB数据库的详情,具体如下 官网:www.mongodb.org 安装-->设置环境变量-->启动 1.下载: 根据系统下载 32 位或 64 位的 .msi 文件,下载后双击该文件,按提示安装即可, 国外网站打开运行速度比较慢.现在给个国内下载地址.http://www.jb51.net/softs/41751.html 2.设置安装目录: 通过点击 "Custom(自定义)" 按钮来设置你的安装目录,我将其安装在D:\MongoD

centOS下mongodb的安装

###############centOS下mongodb的安装######### mongodb作为非关系型数据库NoSQL数据库的一种,并且是属于免安装类型. mongodb安装说明:32的安装db空间有限,最大支持2G多,并且性能低于64bit.64bit系统db存储没有限制!                                  mongodb安装需要磁盘大小为15G以上,如果只是测试可以使用--smallfiles参数最小安装! 1:准备安装包:    可以到官网下载:ht

MySQL5.7.10 安装文档教程详解

1.安装依赖包 yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgcrypt libtool bison 2.安装boost库: 首先先查询是否已经安装过boost rpm -qa boost* 卸载旧boost-*等库: yum -y remove boost-* 下载Boost库,在解压后复制到/usr/local/boost目录下,然后重新cmake并在后面的