在 RedHat Enterprise、CentOS 或 Fedora Linux 上安装 MongoDB
1.大纲
备注:采用yum安装后,所有进程将自动在/usr/bin下,如下的mongo、mongod、mongostat以后都可以直接cd /usr/bin之后直接使用。
该教程列出了在 RedHat Enterprise Linux、CentOS Linux、Fedora Linux 及相关系统上部署Mongodb的基本安装流程。该程序使用 .rpm 程序包作为安装基础。10gen 公布了 MongoDB 版本的 .rpm 程序包,以便 Debian 系统的用户进行简单的安装和管理。虽然部分发布包括其各自的 MongoDB 程序包,但 10gen 程序包通常更为先进。
该教程包括:可用程序包概览,配置程序包管理器的说明,从 10gen 存储库安装程序包的流程,以及初步 MongoDB 配置和操作。
另见以下相关流程和概念的文档。
其他安装教程
2.程序包介绍
10gen 存储库包含二个程序包:
- mongo-10gen
该程序包中包含最新版本的 MongoDB 工具。将该程序包安装在所有生产型 MongoDB 主机上,并可选择性地安装在您可能需要管理 MongoDB 系统的其他系统上。
包含的 MongoDB 工具有:mongo、mongodump、mongorestore、mongoexport、mongoimport、mongostat、mongotop、bsondump
- mongo-server-10gen
该程序包中包含 mongod 和 mongos 后台程序,这些程序均来自最新稳定版本,并且程序包还包括相关配置和初始脚本。
总结:像其它的软件一般这些就集成在一个包里,这里特殊分成2个包。
3.安装 MongoDB
3.1配置程序包管理系统 (YUM)
- 如果您运行的是 64 位系统,创建 /etc/yum.repos.d/10gen.repo文件中设置以下配置:
[10gen]
name=10gen Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1
- 如果您运行的 是32 位系统,创建 /etc/yum.repos.d/10gen.repo 文件中设置以下配置:
[10gen]
name=10gen Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686/
gpgcheck=0
enabled=1
最后更新本地程序包数据库:
yum update (注意尽量不执行吧,会全机所有YUM软件全部更新一遍)
3.2安装程序包
发出以下命令,以安装最新稳定版 MongoDB 及相关工具:
yum install mongo-10gen mongo-10gen-server
该命令完成时,您便成功安装了 MongoDB!接下来是配置和启动建议。
安装完成后,再次确认是否安装成功,执行如下命令检查:
rpm -ql mongo-10gen
rpm -ql mongo-10gen-server
[注:该步骤执行后可能会提示"package mongo-10gen is not installed",不用管,核对一下以下文件是否存在即可]
4.配置 MongoDB
总结:因为使用yum install,因此暂无法指定安装目录,它是如下分散的
注意:mongodb的真实进程名为mongod,与mysqld一个道理,后面加一个d
注意:数据文件和日志文件可在配置文件中修改,不一定用默认的。
[该步骤主要是声明文件所在的路径,以便后续操作的路径设置]
(1)工具包存储目录 /usr/bin
Mondb的工具包包含的 MongoDB 工具有mongo、mongodump、mongorestore、mongoexport、mongoimport、mongostat、mongotop、bsondump它们的存储目录是usr/bin
- 配置文件 /etc/mongod.conf
- 服务默认在 /etc/init.d/mongod
- 数据文件存储在 /var/lib/mongo,须具有可读写权限[mongod.lock也在这里面]
- 日志文件存储在 /var/log/mongodb,须具有可读写权限
5.控制 MongoDB
启动 MongoDB
注意安装完成后并不会自动启动,须手动命令启动 mongod 进程:
service mongod start [该方法无效]
您可以通过检查日志文件的内容来验证 mongod 进程是否已启动成功,文件位置在 /var/log/mongo/mongod.log。
You may optionally, ensure that MongoDB will start following a system reboot, by issuing the following command (with root privileges:)
chkconfig mongod on
启动mongo:
./usr/bin/mongod --dbpath=/var/lib/mongo --maxConns=5120 --logpath=/var/log/mongodb/mongodb.log –fork
[./usr/bin/mongod 表示mongo所在的路径,可以通过"whereis mongo"查看;
--dbpath 表示数据文件的存储位置;
--logpath 表示日志文件所在的路径]
使用"ps -ef|grep mongod"查看启动是否成功
停止 MongoDB
通过发出以下命令(作为根或与 sudo 一起),停止 mongod 进程:
pkill mongo
重启 MongoDB
您可以通过发出以下命令(作为根或与 sudo 一起),重启 mongod 进程:
service mongod restart
通过观察 /var/log/mongo/mongod.log 文件中的输出跟随该进程的状态,以从服务器中观察错误或重要消息。
[注:若机器重启或非正常关闭,mongod.lock中还记录了上次运行的进程号,需要把该文件删除,然后才可以正常重启]