Mongod Service start exits with code 100

54,583

Solution 1

You may still have some problems with the permissions in your data directory. Especially if you have run mongod from the terminal to start with.

I find that the data files are created under root not the mongodb user when you run from the terminal. To fix ..

sudo chown -R mongodb:mongodb /var/lib/mongodb/*

Solution 2

rm /var/lib/mongodb/mongod.lock
systemctl restart mongod
systemctl status mongod

Try this!

Solution 3

Remove the mongod.lock file under 'dbath', and it should start without issues.

Solution 4

I know it's quite late, but maybe this will help someone in need.

I checked the /var/log/mongodb and found this:

Failed to unlink socket file /tmp/mongodb-27017.sock Operation not permitted

I guess that permission is set to root, not mongodb because I used sudo to start mongod. (Maybe someone can help clarifying this)

So the solution is to delete that /tmp/mongodb-27017.sock and restart the service again. At least that worked for me. (Sorry for my bad English)

https://mkyong.com/mongodb/mongodb-failed-to-unlink-socket-file-tmpmongodb-27017/

Share:
54,583
Jankapunkt
Author by

Jankapunkt

License Note All my code provided on this network is, unless the respective website or it's owners states otherwise, licensed as MIT. If there will be an awesome answer, I will link it here. I am working as a scientific employee at the University of Bremen educational department and also study for Phd there. My current technology stack is fullstack js applications using Meteor, Blaze, React, MongoDB, Bootstrap. Me on codewars:

Updated on December 01, 2021

Comments

  • Jankapunkt
    Jankapunkt over 2 years

    Problem

    My mongo service does not start anymore:

    root@machine ~ # service mongod start
    root@machine ~ # service mongod status
    ● mongod.service - High-performance, schema-free document-oriented database
       Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
       Active: failed (Result: exit-code) since Tue 2017-08-15 12:03:51 CEST; 2s ago
         Docs: https://docs.mongodb.org/manual
      Process: 26942 ExecStart=/usr/bin/mongod --config /etc/mongod.conf (code=exited, status=100)
     Main PID: 26942 (code=exited, status=100)
    
    Aug 15 12:03:50 machine systemd[1]: Started High-performance, schema-free document-oriented database.
    Aug 15 12:03:51 machine systemd[1]: mongod.service: Main process exited, code=exited, status=100/n/a
    Aug 15 12:03:51 machine systemd[1]: mongod.service: Unit entered failed state.
    Aug 15 12:03:51 machine systemd[1]: mongod.service: Failed with result 'exit-code'.
    

    Where exit code 100 is blurry defined as:

    Returned by mongod when the process throws an uncaught exception.

    What I did

    First, I have installed my mongodb (3.4.7) on Ubuntu 16.04.2 LTS via the official guide.

    Starting and stopping the service worked fine. So I continued to enable authentication (again via the official guide).

    Then I added the service to be able to run on server startup.

    root@machine ~ # systemctl enable mongod.service
    

    mongod.conf

    I also edited my config file, which is passed a yaml linter:

    # Where and how to store data.
    storage:
      dbPath: /var/lib/mongodb
      journal:
        enabled: true
    
    #  engine: mmapv1
    #  mmapv1:
    #  wiredTiger:
    
    # where to write logging data.
    systemLog:
      destination: file
      logAppend: true
      path: /var/log/mongodb/mongod.log
    
    # network interfaces
    net:
      port: 27017
      bindIp: 127.0.0.1
    
    
    #processManagement:
    
    security:
      authorization: enabled
    

    The ownership of the file is

    root@machine ~ # ls -la /etc/ | grep mongo
    -rw-r--r--   1 root  root     599 Aug 15 11:42 mongod.conf
    

    DbPath

    I know there are issues with the dbpath so this is what /var/lib/mongodb has in terms of ownership:

    root@ machine ~ # ls -la /var/lib/ | grep mongo
    drwxr-xr-x  4 mongodb      mongodb      4096 Aug 15 11:54 mongodb
    

    Service List

    When listing all services via service --status-all there is no entry for any mongo related service.

    Somebody has a clue what could cause the issue?


    UPDATE

    As suggested I ran the following command (with a slight modification):

    root@machine ~ /usr/bin/mongod --verbose --config /etc/mongod.conf &
    [1] 28495
    

    When I get it right, this is a direct execute of the binary. This allows me now to at least login into mongo shell:

    root@machine ~ # mongo
    MongoDB shell version v3.4.7
    connecting to: mongodb://127.0.0.1:27017
    MongoDB server version: 3.4.7
    > 
    

    However, the service status is still remaining failed with exit code 100.


    UPDATE UPDATE

    When typing root@machine ~ # /usr/bin/mongod --verbose

    I receive the following error:

    2017-08-15T13:45:40.973+0200 I CONTROL  [initandlisten] MongoDB starting : pid=28642 port=27017 dbpath=/data/db 64-bit host=machine
    2017-08-15T13:45:40.973+0200 I CONTROL  [initandlisten] db version v3.4.7
    2017-08-15T13:45:40.973+0200 I CONTROL  [initandlisten] git version: cf38c1b8a0a8dca4a11737581beafef4fe120bcd
    2017-08-15T13:45:40.973+0200 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.2g  1 Mar 2016
    2017-08-15T13:45:40.973+0200 I CONTROL  [initandlisten] allocator: tcmalloc
    2017-08-15T13:45:40.973+0200 I CONTROL  [initandlisten] modules: none
    2017-08-15T13:45:40.973+0200 I CONTROL  [initandlisten] build environment:
    2017-08-15T13:45:40.973+0200 I CONTROL  [initandlisten]     distmod: ubuntu1604
    2017-08-15T13:45:40.973+0200 I CONTROL  [initandlisten]     distarch: x86_64
    2017-08-15T13:45:40.973+0200 I CONTROL  [initandlisten]     target_arch: x86_64
    2017-08-15T13:45:40.973+0200 I CONTROL  [initandlisten] options: { systemLog: { verbosity: 1 } }
    2017-08-15T13:45:40.973+0200 D -        [initandlisten] User Assertion: 29:Data directory /data/db not found. src/mongo/db/service_context_d.cpp 98
    2017-08-15T13:45:40.973+0200 I STORAGE  [initandlisten] exception in initAndListen: 29 Data directory /data/db not found., terminating
    2017-08-15T13:45:40.973+0200 I NETWORK  [initandlisten] shutdown: going to close listening sockets...
    2017-08-15T13:45:40.973+0200 I NETWORK  [initandlisten] shutdown: going to flush diaglog...
    2017-08-15T13:45:40.973+0200 I CONTROL  [initandlisten] now exiting
    2017-08-15T13:45:40.973+0200 I CONTROL  [initandlisten] shutting down with code:100