Alec Cumming

Programming, Productivity, System Administration

When mongod Won't Start On OS X

mongod can be fickle. This morning I logged into my Mac to find that my applications couldn’t create a connection to the database, and I quickly discovered that my launchctl mongod daemon had crashed. My system.log was filled with messages like this one

Feb 21 10:44:57 alec com.apple.launchd[1] (org.mongodb.mongod[1165]): Exited with exit code: 100
Feb 21 10:44:57 alec com.apple.launchd[1] (org.mongodb.mongod): Throttling respawn: Will start in 10 seconds

and my mongodb log file had messages like

**************
old lock file: /usr/local/mongodb_data/mongod.lock.  probably means unclean shutdown
recommend removing file and running --repair
see: http://dochub.mongodb.org/core/repair for more information
*************

Soemthing is definitely wrong.

So the first thing to do is try to repair your databases. Unload the launchctl daemon with

sudo launchctl unload -w /Library/LaunchDaemons/org.mongodb.mongod.plist

(replace /Library/LaunchDaemons/org.mongodb.mongod.plist with the path to your launchctl plist file). Delete the lock file, wherever your data is:

rm /usr/local/mongodb_data/mongod.lock

Then run (NOT as sudo, replacing the config path as needed):

mongod --repair --config /usr/local/mongodb/mongodb.conf

Make sure there’s no lock file back in your data directory, and reload the launchctl daemon, again substituting the path to your plist file:

sudo launchctl load -w /Library/LaunchDaemons/org.mongodb.mongod.plist

And you should be back up and running. One gotcha here is that mongod --repair does not remove the lockfile (as I had assumed) - you have to remove it yourself.

Categories:

  • tech

Tags:

  • mongodb
blog comments powered by Disqus