以下是在Debian上搭建RabbitMQ集群的方法:
所有节点需安装相同版本的Erlang和RabbitMQ,且主机名可互相解析,开放4369、25672、5672、15672端口。
sudo apt-get update
,然后sudo apt-get install -y erlang-nox
。curl -sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg
,再echo "deb [signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] http://ppa.launchpad.net/rabbitmq/rabbitmq-server/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/rabbitmq.list
,最后sudo apt-get update
和sudo apt-get install -y rabbitmq-server
。cat /var/lib/rabbitmq/.erlang.cookie
,然后复制到其他节点,确保权限为sudo chmod 400 /var/lib/rabbitmq/.erlang.cookie
,sudo chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
。sudo systemctl start rabbitmq-server
。sudo rabbitmq-plugins enable rabbitmq_management
,并重启服务sudo systemctl restart rabbitmq-server
。sudo rabbitmqctl stop_app
,sudo rabbitmqctl reset
,sudo rabbitmqctl join_cluster rabbit@主节点主机名或IP
,sudo rabbitmqctl start_app
。sudo rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
。sudo rabbitmqctl cluster_status
查看集群状态。