High Availability support for RabbitMQ

A minimum of three RabbitMQ nodes must be installed on separate hosts for High Availability solution to function properly.

An odd number of RabbitMQ nodes is required.

All RabbitMQ nodes must be of an identical version.

RabbitMQ cluster

  1. Install RabbitMQ nodes on servers.
  2. Ensure each node can resolve its own hostname and those of the others.
  • Start Command Prompt on Windows or Terminal on Linux, and run the following command to get hostname.
Bash
Copy
  • In Command Prompt on Windows or Terminal on Linux of any RabbitMQ node, and run the following command to ping to the other using its hostname.
Bash
Copy
  1. On each RabbitMQ nodes, open the following ports.
Default portProcess
5672Used by MDDC Control Center, MDDC API Gateway and MetaDefender Core.
4369Used by discovery daemon on each RabbitMQ nodes and rabbitmqctl tool.
25672Used by each RabbitMQ nodes and rabbitmqctl tool to communicate to the other nodes.
15672Used by rabbitmq-management plugin.
  1. Verify that the Erlang cookies of all RabbitMQ nodes are identical.

RabbitMQ nodes and rabbitmqctl tool use a cookie to determine whether they are allowed to communicate with each other. For two nodes to be able to communicate they must have the same shared secret called the Erlang cookie. The cookie is a string of alphanumeric characters up to 255 characters in size.

  • In Windows, access the specified locations to check the cookie contents.
TypeLocation
Server cookieC:\Windows\system32\config\systemprofile.erlang.cookie
Command line cookieC:\Users%USERNAME%.erlang.cookie
  • In Linux, access the specified locations to check the cookie contents.
TypeLocation
Server cookie/var/lib/rabbitmq/.erlang.cookie
Command line cookie$HOME/.erlang.cookie
  1. Select one node to be the leader of RabbitMQ cluster.
  2. In Command Prompt on Windows or Terminal on Linux of the server hosting the leader, run the following command to obtain its node name.
Bash
Copy
  1. In Command Prompt on Windows or Terminal on Linux of each member node server, run the following command to join the node to the same cluster as the leader.
Bash
Copy
  1. In Command Prompt on Windows or Terminal on Linux of all nodes, ensure they are in the same cluster.
Bash
Copy

Setup Instructions

  1. Sign to MDDC Control Center console with your Administrator account.
  2. Navigate to Inventory > Services.
  3. Expand the RabbitMQ group.
  4. Click Add service.
  5. Enter the values for Name, Host, Port, Username and Password fields of individual RabbitMQ nodes set up in Build RabbitMQ cluster.
  1. Click the Check icon in the bottom right to complete.
  2. Ensure all RabbitMQ nodes are reachable by the MDDC Control Center.
Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard