Install MongoDB on Red Hat Enterprise, CentOS, or Fedora Linux¶
Synopsis¶
This tutorial outlines the basic installation process for deployingMongoDB on Red Hat Enterprise Linux, CentOS Linux, Fedora Linux and related systems. This procedure uses .rpm packages as the basis of the installation. 10gen publishes packages of the MongoDB releases as .rpm packages for easy installation and management for users of CentOS, Fedora and Red Hat Enterprise Linux systems. While some of these distributions include their own MongoDB packages, the 10gen packages are generally more up to date.This tutorial includes: an overview of the available packages, instructions for configuring the package manager, the process install packages from the 10gen repository, and preliminary MongoDB configuration and operation.
See
Additional installation tutorials:Package Options¶
The 10gen repository contains two packages:- mongo-10gen-serverThis package contains the mongod and mongosdaemons from the latest stable release and associated configuration and init scripts. Additionally, you can use this package to install daemons from a previous release of MongoDB.
- mongo-10genThis package contains all MongoDB tools from the latest stablerelease. Additionally, you can use this package to install tools from a previous release of MongoDB. Install this package on all production MongoDB hosts and optionally on other systems from which you may need to administer MongoDB systems.
Install MongoDB¶
Configure Package Management System (YUM)¶
Create a /etc/yum.repos.d/10gen.repo file to hold information about your repository. If you are running a 64-bit system (recommended,) place the following configuration in/etc/yum.repos.d/10gen.repo file:[10gen]
name=10gen Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64
gpgcheck=0
enabled=1
[10gen]
name=10gen Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686
gpgcheck=0
enabled=1
Install Packages¶
Issue the following command (as root or with sudo) to install the latest stable version of MongoDB and the associated tools:yum install mongo-10gen mongo-10gen-server
Manage Installed Versions¶
You can use the mongo-10gen and mongo-10gen-server packages to install previous releases of MongoDB. To install a specific release, append the version number, as in the following example:yum install mongo-10gen-2.2.3 mongo-10gen-server-2.2.3
To pin a package, add the following line to your /etc/yum.conffile:
exclude=mongo-10gen,mongo-10gen-server
Configure MongoDB¶
These packages configure MongoDB using the /etc/mongod.conf file in conjunction with the control script. You can find the init script at /etc/rc.d/init.d/mongod.This MongoDB instance will store its data files in the/var/lib/mongo and its log files in /var/log/mongo, and run using the mongod user account.
Note
If you change the user that runs the MongoDB process, you will need to modify the access control rights to the /var/lib/mongo and/var/log/mongo directories.
Control MongoDB¶
Warning
With the introduction of systemd in Fedora 15, the control scripts included in the packages available in the 10gen repository are not compatible with Fedora systems. A correction is forthcoming, see SERVER-7285 for more information, and in the mean time use your own control scripts or install using the procedure outlined in Install MongoDB on Linux.
Start MongoDB¶
Start the mongod process by issuing the following command (as root, or with sudo):service mongod start
You may optionally, ensure that MongoDB will start following a system reboot, by issuing the following command (with root privileges:)
chkconfig mongod on
Stop MongoDB¶
Stop the mongod process by issuing the following command (as root, or with sudo):service mongod stop
Restart MongoDB¶
You can restart the mongod process by issuing the following command (as root, or with sudo):service mongod restart
Control mongos¶
As of the current release, there are no control scripts for mongos. mongos is only used in sharding deployments and typically do not run on the same systems where mongod runs. You can use the mongodbscript referenced above to derive your own mongos control script.SELinux Considerations¶
You must SELinux to allow MongoDB to start on Fedora systems. Administrators have two options:- enable access to the relevant ports (e.g. 27017) for SELinux. SeeInterfaces and Port Numbers for more information on MongoDB’s default ports.
- disable SELinux entirely. This requires a system reboot and may have larger implications for your deployment.
Using MongoDB¶
Among the tools included in the mongo-10gen package, is themongo shell. You can connect to your MongoDB instance by issuing the following command at the system prompt:mongo
> db.test.save( { a: 1 } )
> db.test.find()