Debian 13 trixie

RabbitMQ : Configure Cluster2025/10/10

 

Configure RabbitMQ Cluster.
It shows to configure 2 RabbitMQ Servers on this example.

[1]

Install and start RabbitMQ Server on all Nodes, refer to here.

[2] On all Nodes, Configure unique node-name.
root@node01:~#
vi /etc/rabbitmq/rabbitmq-env.conf
# line 5 : uncomment and set unique node-name

NODENAME=
rabbit01
root@node01:~#
systemctl restart rabbitmq-server
root@node01:~#
rabbitmqctl eval "node()."

rabbit01@node01
[3] Configure clustering on a Node.
# put the same cookie on all nodes

root@node02:~#
ssh node01.srv.world 'cat /var/lib/rabbitmq/.erlang.cookie' > /var/lib/rabbitmq/.erlang.cookie

root@node02:~#
systemctl restart rabbitmq-server
# stop application and reset

root@node02:~#
rabbitmqctl stop_app

Stopping rabbit application on node rabbit02@node02 ...
root@node02:~#
rabbitmqctl reset

Resetting node rabbit02@node02 ...
# join in cluster
# specify only hostname, not with FQDN

root@node02:~#
rabbitmqctl join_cluster rabbit01@node01

# start application

root@node02:~#
rabbitmqctl start_app

# show status

root@node02:~#
rabbitmqctl cluster_status

Cluster status of node rabbit02@node02 ...
Basics

Cluster name: rabbit02@node02.srv.world
Total CPU cores available cluster-wide: 4

Cluster Tags

(none)

Disk Nodes

rabbit01@node01
rabbit02@node02

Running Nodes

rabbit01@node01
rabbit02@node02

Versions

rabbit02@node02: RabbitMQ 4.0.5 on Erlang 27.3.4.1
rabbit01@node01: RabbitMQ 4.0.5 on Erlang 27.3.4.1

CPU Cores

Node: rabbit02@node02, available CPU cores: 2
Node: rabbit01@node01, available CPU cores: 2

Maintenance status

Node: rabbit02@node02, status: not under maintenance
Node: rabbit01@node01, status: not under maintenance

Alarms

(none)

Network Partitions

(none)

Listeners

Node: rabbit02@node02, interface: [::], port: 15672, protocol: http, purpose: HTTP API
Node: rabbit02@node02, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Node: rabbit02@node02, interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
Node: rabbit01@node01, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Node: rabbit01@node01, interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0

Feature flags

Flag: classic_mirrored_queue_version, state: enabled
Flag: classic_queue_type_delivery_support, state: enabled
Flag: detailed_queues_endpoint, state: disabled
Flag: direct_exchange_routing_v2, state: enabled
Flag: drop_unroutable_metric, state: enabled
.....
.....
[4] To Enable management Plugin on all Nodes, it's possible to see each Node's status like follows.
Matched Content