Installing on Homebrew

Homebrew is a popular package manager for MacOS.

RabbitMQ formula is available from Homebrew's core tap (out of the box). The formula will also install a reasonably recent Erlang/OTP version as a dependency.

Install the Server

Before installing make sure you have the latest brews:

brew update
Then, install RabbitMQ server with:
brew install rabbitmq

Run RabbitMQ Server

The RabbitMQ server scripts are installed into /usr/local/sbin. This is not automatically added to your path, so you may wish to add
PATH=$PATH:/usr/local/sbin to your .bash_profile or .profile. The server can then be started with rabbitmq-server.

All scripts run under your own user account. Sudo is not required.

Default user access

The broker creates a user guest with password guest. Unconfigured clients will in general use these credentials. By default, these credentials can only be used when connecting to the broker as localhost so you will need to take action before connecting from any other machine.

See the documentation on access control for information on how to create more users, delete the guest user, or allow remote access to the guest user.

Controlling System Limits on OS X

RabbitMQ installations running production workloads may need system limits and kernel parameters tuning in order to handle a decent number of concurrent connections and queues. The main setting that needs adjustment is the max number of open files, also known as ulimit -n. The default value on many operating systems is too low for a messaging broker (eg. 1024 on several Linux distributions). We recommend allowing for at least 65536 file descriptors for user rabbitmq in production environments. 4096 should be sufficient for most development workloads.

There are two limits in play: the maximum number of open files the OS kernel allows (kern.maxfilesperproc) and the per-user limit (ulimit -n). The former must be higher than the latter.

To adjust the per-user limit for RabbitMQ, there are several options:

Note that limits cannot be changed for running OS processes.

For more information about controlling kern.maxfilesperproc with sysctl, please refer to sysctl(8) page in Apple documentation.

Verifying the Limit

RabbitMQ management UI displays the number of file descriptors available for it to use on the Overview tab.

rabbitmqctl status
includes the same value.

The following command

launchctl limit
can be used to display effective limits for the current user.

Configuration Management Tools

Configuration management tools (e.g. Chef, Puppet, BOSH) provide assistance with system limit tuning. Our developer tools guide lists relevant modules and projects.

See the Generic Unix or Linux section for further information.