Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-18439

Unable to start MongoDB 3.0.2 service on CentOS 7

    • Type: Icon: Bug Bug
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • 4.1 Desired
    • Affects Version/s: 3.0.2
    • Component/s: Admin, Packaging
    • Labels:
    • Environment:
      centos7, amazon ec2
    • Linux
    • Hide

      Given in description

      Show
      Given in description

      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`

      [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:

      sudo mkdir /mongo
      sudo mkdir /mongo/data
      sudo mkdir /mongo/log
      sudo mkdir /mongo/journal
      

      Created file system for three separate partitions:

      sudo mkfs.ext4 /dev/xvdb
      sudo mkfs.ext4 /dev/xvdc
      sudo mkfs.ext4 /dev/xvdd
      

      Created entry in `fstab` for reboot:

      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:

      sudo mount /mongo/data
      sudo mount /mongo/journal
      sudo mount /mongo/log
      

      Given the permissions and created link

      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:

      [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:

      [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`

      [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`

      logpath=/mongo/log/mongod.log
      dbpath=/mongo/data
      

      Also, changed the SELinux setting to `permissive`. Now when I'm doing: `sudo service mongod start`, I'm getting this error:

      Starting mongod (via systemctl): Job for mongod.service failed. See 'systemctl status mongod.service' and 'journalctl -xn' for details.
      [FAILED]

      Further logging:

      [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.

      Kernal version from uname -a:

      3.10.0-229.1.2.el7.x86_64
      

      If I directly run the mongodb service from the normal user something like this: sudo mongod --config /etc/mongod.conf, then this service is starting properly but not as the system service?

      I've followed various articles and blog posts and stackexchange answers, but didn't get any solution.

      http://stackoverflow.com/questions/30182016/unable-to-start-mongodb-3-0-2-service-on-centos-7

            Assignee:
            alex.neben@mongodb.com Alex Neben
            Reporter:
            sagrawal14 Shashank Agrawal
            Votes:
            3 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved: