I ran into some difficulties in the migration from CentOS 6 to CentOS 7 when it came to getting RabbitMQ up and running again.
My Erlang/RabbitMQ setup largely follows the instructions found elsewhere, notably here: http://raichev.net/adding-celery-with-rabbitmq-to-a-django-project-on-webfaction.html
However, when attempting to run RabbitMQ on CentOS 7, I was running into this error:
We tracked this down to the number of threads being created in the above step. The old CentOS 6 server had 8 processors. The shiny new CentOS 7 has 48. The default number of additional threads to create is (16*number_of_processors) which equals 768 on web602, making me sail over the 300 thread limit! See here for a discussion on thread count.
I have 2 differences between my setup and Alex's in the first link, both in sbin/rabbitmq-defaults:
First, I'm referencing etc/rabbitmq/rabbitmq.config which is below. I needed this for rabbit to listen on the correct port, despite the instructions from Alex:
Second, I have an additional line in sbin/rabbitmq-defaults to deal with the thread count:
Note the "-A 129" which is picked up from the IO_THREAD_POOL_SIZE setting. I set it odd so it is more obviously not a default setting. Webfaction support raised my thread limit so we could debug - before I added the IO_THREAD_POOL_SIZE setting this was showing as "-A 768" as expected given the default calculation.
This question is marked "community wiki".