RabbitMQ takes a little extra effort to get it working on CentOS 6, particularly if using clustering. After you’ve installed, you need to do the following before trying to set up the cluster.

Edit /etc/hosts to ensure all cluster nodes can resolve the hostnames of each other. These hostnames need to match what is displayed after `rabbit@` in rabbitmqctl status.

Next, you need to take care of the ports needed for distributed Erlang processes to communicate. If you don’t do this, then no matter what you do, when you try to create the cluster it will give you ‘error_no_running_cluster_nodes’.

RabbitMQ runs on Erlang, and tor the nodes to talk, they need a few extra ports open beyond the standard 5672 that AMQP uses. One is for epmd (Erlang Port Mapper Daemon) and that is a standard 4369. Then you have a port range that Erlang nodes to communicate. You need to define this range so you can open these ports on your firewall.

To tell RabbitMQ to instruct Erlang to communicate on a certain range of ports, create a file at /etc/rabbitmq/rabbitmq.config with the following contents:

This will force the nodes in the cluster to only communicate over these ports. Restart RabbitMQ with `service rabbitmq-server restart` so the change takes effect. Now for the iptables configuration. Update /etc/sysconfig/iptables with the following rules: