How to setup rabbitmq cluster on ubuntu 18.04

LORY
3 min readSep 20, 2020

--

Prepare 2 vm

192.168.115.128

192.168.115.129

add host name on both server

sudo vi /etc/hosts

192.168.115.128 mq1

192.168.115.129 mq2

install erlang

wget -O- https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | sudo apt-key add -

echo “deb https://packages.erlang-solutions.com/ubuntu bionic contrib” | sudo tee /etc/apt/sources.list.d/rabbitmq.list

sudo apt update

sudo apt install erlang

Test erlang installation on both vm

Erl

Install rabbitmq on vm

wget -O- https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc | sudo apt-key add -

wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -

echo “deb https://dl.bintray.com/rabbitmq/debian bionic main” | sudo tee /etc/apt/sources.list.d/rabbitmq.list

sudo apt update

sudo apt install rabbitmq-server

In case need to clean up the installation

sudo apt-get purge rabbitmq-server

sudo rm -rf /var/lib/rabbitmq/

Check service status make sure it is up

systemctl status rabbitmq-server.service

systemctl is-enabled rabbitmq-server.service

Enable management plugin

sudo rabbitmq-plugins enable rabbitmq_management

UFW setting (for local testing you can inactive ufw)

sudo ufw status

sudo ufw allow proto tcp from any to any port 5672,15672

Share mq1 and mq2 cookie

On mq2 server

sudo apt-get install openssh-server

sudo ufw allow 22

To avoid permission issue when copy from mq1 via scp

sudo chmod 777 /var/lib/rabbitmq/.erlang.cookie

On mq1 server

sudo scp /var/lib/rabbitmq/.erlang.cookie

username@mq2:/var/lib/rabbitmq/.erlang.cookie

After copied cookie fro node 1 ,on mq2 run below change back the permission

sudo chmod 600 /var/lib/rabbitmq/.erlang.cookie

On mq2 again

sudo systemctl restart rabbitmq-server

sudo rabbitmqctl stop_app

sudo rabbitmqctl reset

sudo rabbitmqctl join_cluster username@mq1

sudo rabbitmqctl start_app

On mq1

sudo rabbitmqctl add_user admin admin

sudo rabbitmqctl set_user_tags admin administrator

sudo rabbitmqctl set_permissions -p / admin “.*” “.*” “.*”

On mq2

sudo rabbitmqctl cluster_status

sudo rabbitmqctl list_users

Queue mirroring

sudo rabbitmqctl set_policy ha-all “.” ‘{“ha-mode”:”all”}’

Login to mq1(192.168.115.128:15672) can see nodes has been added into cluster

--

--

LORY
LORY

Written by LORY

A channel which focusing on developer growth and self improvement

No responses yet