Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Sane defaults for MongoDB on OSX?

I installed MongoDB and have set it up like so:

DB path: /data/db

System-wide config file: /usr/local/mongodb/mongod.conf

launchctl plist: /Library/LaunchDaemons/org.mongodb.mongod.plist

Log: /var/log/mongodb/output.log

Binary: /usr/local/bin/mongod

Are there any defaults on all these paths?

I am looking for defaults that are in line with MongoDB and with OS X. References for the answers would be lovely. :-)

like image 579
Kostas Avatar asked May 25 '12 19:05

Kostas


2 Answers

The only one of these values for which MongoDB has a default is the data path, which is /data/db. MongoDB by itself does not ship with a config file, nor does it log to a file by default, and the choice of where to install the binaries is entirely up to you.

For my own installation, I use the following:

  • config: /usr/local/mongo/mongod.conf
  • dbpath: /usr/local/mongo/data
  • logging: /private/var/etc/mongodb.log (this then shows up automatically in the Console app)
  • launchctl: /Library/LaunchDaemons/org.mongodb.mongod.plist

The only other note I'd make is that it is probably worth raising the hard and soft limits for NumberOfFiles, as MongoDB uses this limit to determine the maximum number of connections that it will accept. On some versions, OS X defaults this number to 256, which means you can have a maximum of around 205 connections, which may be too low even for a development environment. I have the following in my launchctl plist:

<key>HardResourceLimits</key>
<dict>
  <key>NumberOfFiles</key>
  <integer>1024</integer>
</dict>
<key>SoftResourceLimits</key>
<dict>
  <key>NumberOfFiles</key>
  <integer>1024</integer>
</dict>
like image 170
dcrosta Avatar answered Nov 08 '22 12:11

dcrosta


On Mac I'd recommend you install mongo with homebrew which installs all programs into /usr/local. You will have the default paths:

  • config: /usr/local/etc/mongod.conf
  • data dir: /usr/local/var/mongodb
  • log: /usr/local/var/log/mongodb/mongo.log
  • plist file: /usr/local/opt/mongodb/homebrew.mxcl.mongodb.plist

To install: brew install mongodb

to restart mongo you do:

launchctl stop homebrew.mxcl.mongodb
launchctl start homebrew.mxcl.mongodb
like image 26
Fabian Avatar answered Nov 08 '22 14:11

Fabian