-
一、准备工作:
-
-
运行yum命令查看MongoDB的包信息[root@vm~]#yuminfomongo-10gen
-
(提示没有相关匹配的信息,)
-
说明你的centos系统中的yum源不包含MongoDB的相关资源,所以要在使用yum命令安装MongoDB前需要增加yum源,也就是在/etc/yum.repos.d/目录中增加*.repoyum源配置文件,以下分别是针对centos64位和32位不同的系统的MongoDByum源配置内容:
-
-
我们这里就将该文件命名为:/etc/yum.repos.d/10gen.repo
-
-
For64-bityum源配置:
-
-
vi/etc/yum.repos.d/10gen.repo
-
-
[10gen]
-
name=10genRepository
-
baseurl=http:
-
gpgcheck=0
-
For32-bityum源配置:
-
-
vi/etc/yum.repos.d/10gen.repo
-
-
[10gen]
-
name=10genRepository
-
baseurl=http:
-
gpgcheck=0
-
根据自己的系统选择相应的配置内容
-
-
查看系统是32位还是64位的方法:
-
-
$uname-a
-
-
含有x86_64的那说明是64位的,例如我的centos6.064bit系统执行这个命令后显示:
-
-
Linuxvm.centos62.6.32-71.29.1.el6.x86_64#1SMPMonJun2719:49:27BST2011x86_64x86_64x86_64GNU/Linux
-
-
-
做好yum源的配置后,如果配置正确执行下面的命令便可以查询MongoDB相关的信息:
-
-
查看mongoDB的服务器包的信息
-
-
[root@vm~]#yuminfomongo-10gen-server
-
****(省略多行不重要的信息)*********
-
AvailablePackages
-
Name:mongo-10gen-server
-
Arch:x86_64
-
Version:1.8.2
-
Release:mongodb_1
-
Size:4.7M
-
Repo:10gen
-
Summary:mongoserver,shardingserver,andsupportscripts
-
URL:http:
-
License:AGPL3.0
-
Description:Mongo(from"huMONGOus")isaschema-freedocument-oriented
-
:database.
-
:
-
:Thispackageprovidesthemongoserversoftware,mongosharding
-
:serversoftwware,defaultconfigurationfiles,andinit.dscripts.
-
-
[root@vm~]#
-
-
-
查看客户端工具的信息
-
-
[root@vm~]#yuminfomongo-10gen
-
Loadedplugins:fastestmirror
-
**(省略多行不重要的信息)**
-
InstalledPackages
-
Name:mongo-10gen
-
Arch:x86_64
-
Version:1.8.2
-
Release:mongodb_1
-
Size:55M
-
Repo:10gen
-
Summary:mongoclientshellandtools
-
URL:http:
-
License:AGPL3.0
-
Description:Mongo(from"huMONGOus")isaschema-freedocument-oriented
-
:database.Itfeaturesdynamicprofileablequeries,fullindexing,
-
:replicationandfail-oversupport,efficientstorageoflarge
-
:binarydataobjects,andauto-sharding.
-
:
-
:Thispackageprovidesthemongoshell,import/exporttools,and
-
:otherclientutilities.
-
-
[root@vm~]#
-
-
-
二、安装MongoDB的服务器端和客户端工具
-
-
1.安装服务器端:
-
-
[root@vm~]#yuminstallmongo-10gen-server
-
[root@vm~]#ls/usr/bin/mongo(tab键)
-
mongomongodmongodumpmongoexportmongofilesmongoimportmongorestoremongosmongostat
-
-
-----------------------------------------------
-
这些就是MongoDB的程序文件
-
因为mongo-10gen-server包依赖于mongo-10gen,所以安装了服务器后就不需要单独安装客户端工具包mongo-10gen了
-
-
-
-
2.单独安装可客户端:
-
-
[root@vm~]#yuminstallmongo-10gen
-
-
-
3.检查
-
-
[root@vm~]#/etc/init.d/mongod
-
Usage:/etc/init.d/mongod{start|stop|status|restart|reload|force-reload|condrestart}
-
[root@vm~]#/etc/init.d/mongodstatus
-
mongod(pid1341)isrunning...
-
[root@vm~]#
-
说明安后服务器端已经在运行了
-
-
-
-
4.服务器配置:/etc/mongod.conf
-
-
[root@vm~]#cat/etc/mongod.conf
-
#mongo.conf
-
-
#wheretolog
-
logpath=/var/log/mongo/mongod.log
-
-
logappend=true#以追加方式写入日志
-
-
#forkandruninbackground
-
fork=true
-
-
#port=27017#端口
-
-
dbpath=/var/lib/mongo#数据库文件保存位置
-
-
#EnablesperiodicloggingofCPUutilizationandI/Owait
-
#启用定期记录CPU利用率和I/O等待
-
#cpu=true
-
-
#Turnon/offsecurity.Offiscurrentlythedefault
-
#是否以安全认证方式运行,默认是不认证的非安全方式
-
#noauth=true
-
#auth=true
-
-
#Verboseloggingoutput.
-
#详细记录输出
-
#verbose=true
-
-
#Inspectallclientdataforvalidityonreceipt(usefulfor
-
#developingdrivers)用于开发驱动程序时的检查客户端接收数据的有效性
-
#objcheck=true
-
-
#Enabledbquotamanagement启用数据库配额管理,默认每个db可以有8个文件,可以用quotaFiles参数设置
-
#quota=true
-
#设置oplog记录等级
-
#Setoplogginglevelwherenis
-
#0=off(default)
-
#1=W
-
#2=R
-
#3=both
-
#7=W+somereads
-
#oplog=0
-
-
#Diagnostic/debuggingoption动态调试项
-
#nocursors=true
-
-
#Ignorequeryhints忽略查询提示
-
#nohints=true
-
#禁用http界面,默认为localhost:28017
-
#DisabletheHTTPinterface(Defaultstolocalhost:27018).这个端口号写的是错的
-
#nohttpinterface=true
-
-
#关闭服务器端脚本,这将极大的限制功能
-
#Turnsoffserver-sidescripting.Thiswillresultingreatlylimited
-
#functionality
-
#noscripting=true
-
#关闭扫描表,任何查询将会是扫描失败
-
#Turnsofftablescans.Anyquerythatwoulddoatablescanfails.
-
#notablescan=true
-
#关闭数据文件预分配
-
#Disabledatafilepreallocation.
-
#noprealloc=true
-
#为新数据库指定.ns文件的大小,单位:MB
-
#Specify.nsfilesizefornewdatabases.
-
#nssize=<size>
-
-
#AccouttokenforMongomonitoringserver.
-
#mms-token=<token>
-
#mongo监控服务器的名称
-
#ServernameforMongomonitoringserver.
-
#mms-name=<server-name>
-
#mongo监控服务器的ping间隔
-
#PingintervalforMongomonitoringserver.
-
#mms-interval=<seconds>
-
-
#ReplicationOptions复制选项
-
-
#inreplicatedmongodatabases,specifyherewhetherthisisaslaveormaster在复制中,指定当前是从属关系
-
#slave=true
-
#source=master.example.com
-
#Slaveonly:specifyasingledatabasetoreplicate
-
#only=master.example.com
-
#or
-
#master=true
-
#source=slave.example.com
-
[root@vm~]#
-
以上是默认的配置文件中的一些参数,更多参数可以用mongod-h命令来查看
-
-
-
-
[root@vm~]#mongod-h
-
Allowedoptions:
-
-
Generaloptions:
-
-h[--help]showthisusageinformation
-
--versionshowversioninformation
-
-f[--config]argconfigurationfilespecifyingadditionaloptions指定启动配置文件路径
-
-v[--verbose]bemoreverbose(includemultipletimesformore
-
verbositye.g.-vvvvv)
-
--quietquieteroutput
-
--portargspecifyportnumber端口
-
--bind_ipargcommaseparatedlistofipaddressestolistenon-
-
alllocalipsbydefault绑定ip,可以多个
-
--maxConnsargmaxnumberofsimultaneousconnections最大并发连接数
-
--logpatharglogfiletosendwritetoinsteadofstdout-hasto
-
beafile,notdirectory日志文件路径
-
--logappendappendtologpathinsteadofover-writing日志写入方式
-
--pidfilepathargfullpathtopidfile(ifnotset,nopidfileis
-
created)pid文件路径
-
--keyFileargprivatekeyforclusterauthentication(onlyfor
-
replicasets)集群认证私钥,仅适用于副本集
-
--unixSocketPrefixargalternativedirectoryforUNIXdomainsockets
-
(defaultsto/tmp)替代目录
-
--forkforkserverprocess
-
--authrunwithsecurity使用认证方式运行
-
--cpuperiodicallyshowcpuandiowaitutilization定期显示的CPU和IO等待利用率
-
--dbpathargdirectoryfordatafiles数据库文件路径
-
--diaglogarg0=off1=W2=R3=both7=W+somereadsoplog记录等级
-
--directoryperdbeachdatabasewillbestoredinaseparatedirectory
-
每个数据库存储到单独目录
-
--journalenablejournaling记录日志,建议开启,在异常宕机时可以恢复一些数据
-
--journalOptionsargjournaldiagnosticoptions
-
--ipv6enableIPv6support(disabledbydefault)
-
--jsonpallowJSONPaccessviahttp(hassecurity
-
implications)允许JSONP通过http访问,该方式存在安全隐患
-
--noauthrunwithoutsecurity不带安全认证的方式
-
--nohttpinterfacedisablehttpinterface禁用http接口
-
--nopreallocdisabledatafilepreallocation-willoftenhurt
-
performance禁用数据文件的预分配,往往会损害性能
-
--noscriptingdisablescriptingengine禁用脚本引擎
-
--notablescandonotallowtablescans不允许表扫描
-
--nounixsocketdisablelisteningonunixsockets禁止unixsockets监听
-
--nssizearg(=16).nsfilesize(inMB)fornewdatabases为新数据设置.ns文件的大小
-
--objcheckinspectclientdataforvalidityonreceipt检查在收到客户端的数据的有效性
-
--profilearg0=off1=slow,2=all
-
--quotalimitseachdatabasetoacertainnumberoffiles(8
-
default)启用数据库配额管理,默认每个db可以有8个文件,可以用quotaFiles参数设置
-
--quotaFilesargnumberoffilesallowerperdb,requires--quota
-
--restturnonsimplerestapi开启restapi
-
--repairrunrepaironalldbs修复所有数据库
-
--repairpathargrootdirectoryforrepairfiles-defaultstodbpath修复文件的根目录,默
-
认为dbpath指定的目录
-
--slowmsarg(=100)valueofslowforprofileandconsolelog
-
--smallfilesuseasmallerdefaultfilesize
-
--syncdelayarg(=60)secondsbetweendisksyncs(0=never,butnot
-
recommended)与硬盘同步数据的时间,默认60秒,0表示不同步到硬盘(不建议)
-
--sysinfoprintsomediagnosticsysteminformation打印一些诊断系统信息
-
--upgradeupgradedbifneeded如果必要,将数据库文件升级到新的格式
-
(<=1.0到1.1+升级时所需的)
-
-
Replicationoptions:复制选项
-
--fastsyncindicatethatthisinstanceisstartingfromadbpath
-
snapshotofthereplpeer从一个dbpath快照开始同步
-
--autoresyncautomaticallyresyncifslavedataisstale自动同步,如果从机的数据不是新的
-
自动同步
-
--oplogSizeargsizelimit(inMB)foroplogoplog的大小
-
-
Master/slaveoptions:主/从配置选项
-
--mastermastermode主模式
-
--slaveslavemode从属模式
-
--sourceargwhenslave:specifymasteras<server:port>从属服务器上指定主服务器地址
-
--onlyargwhenslave:specifyasingledatabasetoreplicate从属服务器上指定要复制的
-
数据库
-
--slavedelayargspecifydelay(inseconds)tobeusedwhenapplying
-
masteropstoslave指定从主服务器上同步数据的时间间隔单位秒
-
-
Replicasetoptions:副本集选项
-
--replSetargargis<setname>[/<optionalseedhostlist>]
-
参数:<名称>[<种子主机列表>]
-
-
Shardingoptions:分片设置选项
-
--configsvrdeclarethisisaconfigdbofacluster;defaultport
-
27019;defaultdir/data/configdb声明这是一个集群的配置数据库,
-
默认的端口是27019默认的路径是/data/configdb
-
--shardsvrdeclarethisisasharddbofacluster;defaultport
-
27018声明这是集群的一个分片数据库,默认端口为27018
-
--noMoveParanoiaturnoffparanoidsavingofdataformoveChunk.this
-
isonbydefaultfornow,butdefaultwillswitch
-
关闭偏着保存大块数据。现在它是默认的,但是会变换
-
-
[root@vm~]#
|
|