Running a system with both RabbitMQ and Riak can use up file descriptors like they are going out of fashion. Most distributions have a woefully low limit (Mac OS X has a default of 256) causing unsightly errors sooner than you would expect. Resolving this is easy, and some people suggest setting it to some arbitrarily large number (at least on Linux).

On my machine, using a three node Riak cluster and a single node for RabbitMQ, this is what I found so far:

gindara:dev brian$ ls dev1/data/bitcask/*/* | wc -l
gindara:dev brian$ ls dev2/data/bitcask/*/* | wc -l
gindara:dev brian$ ls dev3/data/bitcask/*/* | wc -l
gindara:~ brian$ sudo lsof -u rabbitmq -d ^txt | wc -l

So files definitely get created quickly. The Basho blog says to update the open files limit for proper operation of riak to 2048 in their example. Running both apps seems to warrant going for the arbitrarily large number solution.

As many places document, do this for Linux:

$ ulimit -n 1048576

and forever by updating the system-wide and user limits.

On Mac OS X do this from command line

launchctl limit maxfiles 1048576

and forever in launchd.conf

sudo echo "limit maxfiles 1048576" > /etc/launchd.conf