Created
October 20, 2014 01:09
-
-
Save jeremy16601/e358e242f82d427fd35a to your computer and use it in GitHub Desktop.
在CentOS中使用 yum 安装MongoDB及服务器端配置
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
一、准备工作: | |
运行yum命令查看MongoDB的包信息 [root@vm ~]# yum info mongo-10gen | |
(提示没有相关匹配的信息,) | |
说明你的centos系统中的yum源不包含MongoDB的相关资源,所以要在使用yum命令安装MongoDB前需要增加yum源,也就是在 /etc/yum.repos.d/目录中增加 *.repo yum源配置文件,以下分别是针对centos 64位和32位不同的系统的MongoDB yum 源配置内容: | |
我们这里就将该文件命名为:/etc/yum.repos.d/10gen.repo | |
For 64-bit yum源配置: | |
vi /etc/yum.repos.d/10gen.repo | |
[10gen] | |
name=10gen Repository | |
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64 | |
gpgcheck=0 | |
For 32-bit yum源配置: | |
vi /etc/yum.repos.d/10gen.repo | |
[10gen] | |
name=10gen Repository | |
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686 | |
gpgcheck=0 | |
根据自己的系统选择相应的配置内容 | |
查看系统是32位还是64位的方法: | |
$ uname -a | |
含有x86_64的那说明是64位的,例如我的centos6.0 64bit系统执行这个命令后显示: | |
Linux vm.centos6 2.6.32-71.29.1.el6.x86_64 #1 SMP Mon Jun 27 19:49:27 BST 2011 x86_64 x86_64 x86_64 GNU/Linux | |
做好yum源的配置后,如果配置正确执行下面的命令便可以查询MongoDB相关的信息: | |
查看mongoDB的服务器包的信息 | |
[root@vm ~]# yum info mongo-10gen-server | |
****(省略多行不重要的信息)********* | |
Available Packages | |
Name : mongo-10gen-server | |
Arch : x86_64 | |
Version : 1.8.2 | |
Release : mongodb_1 | |
Size : 4.7 M | |
Repo : 10gen | |
Summary : mongo server, sharding server, and support scripts | |
URL : http://www.mongodb.org | |
License : AGPL 3.0 | |
Description: Mongo (from "huMONGOus") is a schema-free document-oriented | |
: database. | |
: | |
: This package provides the mongo server software, mongo sharding | |
: server softwware, default configuration files, and init.d scripts. | |
[root@vm ~]# | |
查看客户端工具的信息 | |
[root@vm ~]# yum info mongo-10gen | |
Loaded plugins: fastestmirror | |
**(省略多行不重要的信息)** | |
Installed Packages | |
Name : mongo-10gen | |
Arch : x86_64 | |
Version : 1.8.2 | |
Release : mongodb_1 | |
Size : 55 M | |
Repo : 10gen | |
Summary : mongo client shell and tools | |
URL : http://www.mongodb.org | |
License : AGPL 3.0 | |
Description: Mongo (from "huMONGOus") is a schema-free document-oriented | |
: database. It features dynamic profileable queries, full indexing, | |
: replication and fail-over support, efficient storage of large | |
: binary data objects, and auto-sharding. | |
: | |
: This package provides the mongo shell, import/export tools, and | |
: other client utilities. | |
[root@vm ~]# | |
二、安装MongoDB的服务器端和客户端工具 | |
1.安装服务器端: | |
[root@vm ~]# yum install mongo-10gen-server | |
[root@vm ~]# ls /usr/bin/mongo(tab键) | |
mongo mongod mongodump mongoexport mongofiles mongoimport mongorestore mongos mongostat | |
----------------------------------------------- | |
这些就是MongoDB的程序文件 | |
因为mongo-10gen-server包依赖于mongo-10gen,所以安装了服务器后就不需要单独安装客户端工具包mongo-10gen了 | |
2.单独安装可客户端: | |
[root@vm ~]# yum install mongo-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/mongod status | |
mongod (pid 1341) is running... | |
[root@vm ~]# | |
说明安后服务器端已经在运行了 | |
4.服务器配置: /etc/mongod.conf | |
[root@vm ~]# cat /etc/mongod.conf | |
# mongo.conf | |
#where to log | |
logpath=/var/log/mongo/mongod.log | |
logappend=true #以追加方式写入日志 | |
# fork and run in background | |
fork = true | |
#port = 27017 #端口 | |
dbpath=/var/lib/mongo #数据库文件保存位置 | |
# Enables periodic logging of CPU utilization and I/O wait | |
#启用定期记录CPU利用率和 I/O 等待 | |
#cpu = true | |
# Turn on/off security. Off is currently the default | |
# 是否以安全认证方式运行,默认是不认证的非安全方式 | |
#noauth = true | |
#auth = true | |
# Verbose logging output. | |
# 详细记录输出 | |
#verbose = true | |
# Inspect all client data for validity on receipt (useful for | |
# developing drivers)用于开发驱动程序时的检查客户端接收数据的有效性 | |
#objcheck = true | |
# Enable db quota management 启用数据库配额管理,默认每个db可以有8个文件,可以用quotaFiles参数设置 | |
#quota = true | |
# 设置oplog记录等级 | |
# Set oplogging level where n is | |
# 0=off (default) | |
# 1=W | |
# 2=R | |
# 3=both | |
# 7=W+some reads | |
#oplog = 0 | |
# Diagnostic/debugging option 动态调试项 | |
#nocursors = true | |
# Ignore query hints 忽略查询提示 | |
#nohints = true | |
# 禁用http界面,默认为localhost:28017 | |
# Disable the HTTP interface (Defaults to localhost:27018).这个端口号写的是错的 | |
#nohttpinterface = true | |
# 关闭服务器端脚本,这将极大的限制功能 | |
# Turns off server-side scripting. This will result in greatly limited | |
# functionality | |
#noscripting = true | |
# 关闭扫描表,任何查询将会是扫描失败 | |
# Turns off table scans. Any query that would do a table scan fails. | |
#notablescan = true | |
# 关闭数据文件预分配 | |
# Disable data file preallocation. | |
#noprealloc = true | |
# 为新数据库指定.ns文件的大小,单位:MB | |
# Specify .ns file size for new databases. | |
# nssize = <size> | |
# Accout token for Mongo monitoring server. | |
#mms-token = <token> | |
# mongo监控服务器的名称 | |
# Server name for Mongo monitoring server. | |
#mms-name = <server-name> | |
# mongo监控服务器的ping 间隔 | |
# Ping interval for Mongo monitoring server. | |
#mms-interval = <seconds> | |
# Replication Options 复制选项 | |
# in replicated mongo databases, specify here whether this is a slave or master 在复制中,指定当前是从属关系 | |
#slave = true | |
#source = master.example.com | |
# Slave only: specify a single database to replicate | |
#only = master.example.com | |
# or | |
#master = true | |
#source = slave.example.com | |
[root@vm ~]# | |
以上是默认的配置文件中的一些参数,更多参数可以用 mongod -h 命令来查看 | |
[root@vm ~]# mongod -h | |
Allowed options: | |
General options: | |
-h [ --help ] show this usage information | |
--version show version information | |
-f [ --config ] arg configuration file specifying additional options 指定启动配置文件路径 | |
-v [ --verbose ] be more verbose (include multiple times for more | |
verbosity e.g. -vvvvv) | |
--quiet quieter output | |
--port arg specify port number 端口 | |
--bind_ip arg comma separated list of ip addresses to listen on - | |
all local ips by default 绑定ip,可以多个 | |
--maxConns arg max number of simultaneous connections 最大并发连接数 | |
--logpath arg log file to send write to instead of stdout - has to | |
be a file, not directory 日志文件路径 | |
--logappend append to logpath instead of over-writing 日志写入方式 | |
--pidfilepath arg full path to pidfile (if not set, no pidfile is | |
created) pid文件路径 | |
--keyFile arg private key for cluster authentication (only for | |
replica sets)集群认证私钥,仅适用于副本集 | |
--unixSocketPrefix arg alternative directory for UNIX domain sockets | |
(defaults to /tmp)替代目录 | |
--fork fork server process | |
--auth run with security 使用认证方式运行 | |
--cpu periodically show cpu and iowait utilization 定期显示的CPU和IO等待利用率 | |
--dbpath arg directory for datafiles 数据库文件路径 | |
--diaglog arg 0=off 1=W 2=R 3=both 7=W+some reads oplog记录等级 | |
--directoryperdb each database will be stored in a separate directory | |
每个数据库存储到单独目录 | |
--journal enable journaling 记录日志,建议开启,在异常宕机时可以恢复一些数据 | |
--journalOptions arg journal diagnostic options | |
--ipv6 enable IPv6 support (disabled by default) | |
--jsonp allow JSONP access via http (has security | |
implications)允许JSONP通过http访问,该方式存在安全隐患 | |
--noauth run without security 不带安全认证的方式 | |
--nohttpinterface disable http interface 禁用http接口 | |
--noprealloc disable data file preallocation - will often hurt | |
performance 禁用数据文件的预分配,往往会损害性能 | |
--noscripting disable scripting engine 禁用脚本引擎 | |
--notablescan do not allow table scans 不允许表扫描 | |
--nounixsocket disable listening on unix sockets禁止unix sockets监听 | |
--nssize arg (=16) .ns file size (in MB) for new databases 为新数据设置.ns文件的大小 | |
--objcheck inspect client data for validity on receipt 检查在收到客户端的数据的有效性 | |
--profile arg 0=off 1=slow, 2=all | |
--quota limits each database to a certain number of files (8 | |
default)启用数据库配额管理,默认每个db可以有8个文件,可以用quotaFiles参数设置 | |
--quotaFiles arg number of files allower per db, requires --quota | |
--rest turn on simple rest api 开启rest api | |
--repair run repair on all dbs 修复所有数据库 | |
--repairpath arg root directory for repair files - defaults to dbpath修复文件的根目录,默 | |
认为dbpath指定的目录 | |
--slowms arg (=100) value of slow for profile and console log | |
--smallfiles use a smaller default file size | |
--syncdelay arg (=60) seconds between disk syncs (0=never, but not | |
recommended)与硬盘同步数据的时间,默认60秒,0表示不同步到硬盘(不建议) | |
--sysinfo print some diagnostic system information打印一些诊断系统信息 | |
--upgrade upgrade db if needed 如果必要,将数据库文件升级到新的格式 | |
(<=1.0到1.1+升级时所需的) | |
Replication options: 复制选项 | |
--fastsync indicate that this instance is starting from a dbpath | |
snapshot of the repl peer 从一个dbpath快照开始同步 | |
--autoresync automatically resync if slave data is stale 自动同步,如果从机的数据不是新的 | |
自动同步 | |
--oplogSize arg size limit (in MB) for op log oplog的大小 | |
Master/slave options: 主/从配置选项 | |
--master master mode 主模式 | |
--slave slave mode 从属模式 | |
--source arg when slave: specify master as <server:port>从属服务器上指定主服务器地址 | |
--only arg when slave: specify a single database to replicate从属服务器上指定要复制的 | |
数据库 | |
--slavedelay arg specify delay (in seconds) to be used when applying | |
master ops to slave 指定从主服务器上同步数据的时间间隔 单位秒 | |
Replica set options: 副本集选项 | |
--replSet arg arg is <setname>[/<optionalseedhostlist>] | |
参数:<名称>[<种子主机列表>] | |
Sharding options: 分片设置选项 | |
--configsvr declare this is a config db of a cluster; default port | |
27019; default dir /data/configdb 声明这是一个集群的配置数据库, | |
默认的端口是27019 默认的路径是/data/configdb | |
--shardsvr declare this is a shard db of a cluster; default port | |
27018 声明这是集群的一个分片数据库,默认端口为27018 | |
--noMoveParanoia turn off paranoid saving of data for moveChunk. this | |
is on by default for now, but default will switch | |
关闭偏着保存大块数据。现在它是默认的,但是会变换 | |
[root@vm ~]# |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment