Question:
We are setting up a MongoDB server for the production environment on Amazon EC2 instance, but could not able to start the service. I’ve followed this documentation for setup. Here are the steps, I’ve taken for setting up the server:
Added following to /etc/yum.repos.d/mongodb-org-3.0.repo
1 2 3 4 5 6 |
[mongodb-org-3.0] name=MongoDB Repository baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/ gpgcheck=0 enabled=1 |
And installed MongoDB 3.0.2 using sudo yum install -y mongodb-org-3.0.2
Created three partitions for data, journal & log:
1 2 3 4 5 |
sudo mkdir /mongo sudo mkdir /mongo/data sudo mkdir /mongo/log sudo mkdir /mongo/journal |
Created file system for three separate partitions:
1 2 3 4 |
sudo mkfs.ext4 /dev/xvdb sudo mkfs.ext4 /dev/xvdc sudo mkfs.ext4 /dev/xvdd |
Created entry in fstab
for reboot:
1 2 3 4 |
echo '/dev/xvdb /mongo/data ext4 defaults,auto,noatime,noexec 0 0 /dev/xvdc /mongo/journal ext4 defaults,auto,noatime,noexec 0 0 /dev/xvdd /mongo/log ext4 defaults,auto,noatime,noexec 0 0' | sudo tee -a /etc/fstab |
And mounted the partitions:
1 2 3 4 |
sudo mount /mongo/data sudo mount /mongo/journal sudo mount /mongo/log |
Given the permissions and created link
1 2 3 |
sudo chown mongod:mongod /mongo/data /mongo/journal /mongo/log sudo ln -s /mongo/journal /mongo/data/journal |
Configured ulimit
& read ahead settings as given in the documentation link above. Verified permissions and partitions:
1 2 3 4 5 6 7 8 9 10 11 |
[deployer@prod-mongo ~]$ df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 8.0G 1.3G 6.8G 16% / devtmpfs 3.6G 0 3.6G 0% /dev tmpfs 3.5G 0 3.5G 0% /dev/shm tmpfs 3.5G 57M 3.4G 2% /run tmpfs 3.5G 0 3.5G 0% /sys/fs/cgroup /dev/xvdc 7.8G 36M 7.3G 1% /mongo/journal /dev/xvdb 150G 51M 149G 1% /mongo/data /dev/xvdd 3.9G 16M 3.6G 1% /mongo/log |
Permissions:
1 2 3 4 5 6 7 8 9 10 11 12 |
[deployer@prod-mongo ~]$ ll / total 32 lrwxrwxrwx. 1 root root 7 Sep 29 2014 bin -> usr/bin dr-xr-xr-x. 4 root root 4096 Sep 29 2014 boot drwxr-xr-x. 17 root root 2860 May 11 12:11 dev lrwxrwxrwx. 1 root root 7 Sep 29 2014 lib -> usr/lib lrwxrwxrwx. 1 root root 9 Sep 29 2014 lib64 -> usr/lib64 drwxr-xr-x. 2 root root 6 Jun 10 2014 mnt drwxr-xr-x. 5 mongod mongod 41 May 11 05:06 mongo drwxr-xr-x. 21 root root 660 May 11 12:47 run lrwxrwxrwx. 1 root root 8 Sep 29 2014 sbin -> usr/sbin |
Inside /mongo
1 2 3 4 5 6 |
[deployer@prod-mongo ~]$ ll /mongo/ total 12 drwxr-xr-x. 3 mongod mongod 4096 May 11 07:33 data drwxr-xr-x. 3 mongod mongod 4096 May 11 07:31 journal drwxr-xr-x. 3 mongod mongod 4096 May 11 08:58 log |
After changing the configurations inside /etc/mongodb.conf
1 2 3 |
logpath=/mongo/log/mongod.log dbpath=/mongo/data |
and when I’m doing: sudo service mongod start
, I’m getting this error:
1 2 3 |
Starting mongod (via systemctl): Job for mongod.service failed. See 'systemctl status mongod.service' and 'journalctl -xn' for details. [FAILED] |
Further logging:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[deployer@prod-mongo ~]$ sudo systemctl status mongod.service mongod.service - SYSV: Mongo is a scalable, document-oriented database. Loaded: loaded (/etc/rc.d/init.d/mongod) Active: failed (Result: exit-code) since Tue 2015-05-12 04:42:10 UTC; 42s ago Process: 22881 ExecStart=/etc/rc.d/init.d/mongod start (code=exited, status=1/FAILURE) May 11 04:42:10 ip-xx-xx-xx-xx.local runuser[22887]: pam_unix(runuser:session): session opened for user mongod by (uid=0) May 11 04:42:10 ip-xx-xx-xx-xx.localdomain runuser[22887]: pam_unix(runuser:session): session closed for user mongod May 11 04:42:10 ip-xx-xx-xx-xx.local mongod[22881]: Starting mongod: [FAILED] May 11 04:42:10 ip-xx-xx-xx-xx.local systemd[1]: mongod.service: control process exited, code=exited status=1 May 11 04:42:10 ip-xx-xx-xx-xx.local systemd[1]: Failed to start SYSV: Mongo is a scalable, document-oriented database.. May 11 04:42:10 ip-xx-xx-xx-xx.local systemd[1]: Unit mongod.service entered failed state. |
I’ve followed various articles and blog posts and StackExchange answers but didn’t get any solution. Am I missing something?
Update: If I’m directly running the mongodb
service from the normal user something like this: sudo mongod --logpath ~/mongod.log --dbpath ~/mongodata
, then this service is starting properly.
We tried changing the path of the pid
file to another directory, that didn’t help either.
Answer:
In case, anyone encountered the same issue with MongoDB startup, here is the thread of comments https://jira.mongodb.org/browse/SERVER-18439. This is scheduled to be fixed in 3.1
.