debian

Debian RabbitMQ集群搭建方法

小樊
42
2025-08-02 06:40:34
栏目: 智能运维

在Debian系统上搭建RabbitMQ集群需要以下步骤:

1. 安装Erlang环境

首先,确保系统上安装了正确版本的Erlang。RabbitMQ需要Erlang来运行。

sudo apt-get update
sudo apt-get install erlang[26.1.1-1] erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key erlang-runtime-tools erlang-snmp erlang-ssl erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl[26.1.1-1] -y

2. 安装RabbitMQ

添加RabbitMQ的APT源并安装RabbitMQ服务器。

echo 'deb http://www.rabbitmq.com/debian/ testing main' | sudo tee /etc/apt/sources.list.d/rabbitmq.list
wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -
sudo apt update
sudo apt install rabbitmq-server[3.12.7-1]

3. 配置RabbitMQ集群

创建数据存放目录和日志存放目录

sudo mkdir -p /data/rabbitmq/data
sudo mkdir -p /data/rabbitmq/logs
sudo chown rabbitmq:rabbitmq /data/ -R
sudo chmod 777 -R /data/rabbitmq

创建配置文件

编辑 /etc/rabbitmq/rabbitmq-env.conf 文件,设置数据存储和日志存储路径。

sudo vim /etc/rabbitmq/rabbitmq-env.conf

内容如下:

RABBITMQ_MNESIA_BASE=/data/rabbitmq/data
RABBITMQ_LOG_BASE=/data/rabbitmq/logs

重启RabbitMQ服务:

sudo systemctl restart rabbitmq-server

复制Erlang Cookie

查看当前节点的Erlang Cookie值:

cat /var/lib/rabbitmq/.erlang.cookie

将其他节点的Erlang Cookie值复制到当前节点:

scp /var/lib/rabbitmq/.erlang.cookie root@node2:/var/lib/rabbitmq/
scp /var/lib/rabbitmq/.erlang.cookie root@node3:/var/lib/rabbitmq/

将其他节点加入集群

在其他节点上执行以下命令,将mq-2、mq-3作为内存节点加入到mq-1节点集群中:

sudo rabbitmqctl stop_app
sudo rabbitmqctl reset
sudo rabbitmqctl join_cluster --ram rabbit@node1
sudo rabbitmqctl start_app

4. 验证集群状态

在任意节点上执行以下命令查看集群状态:

sudo rabbitmqctl cluster_status

5. 配置高可用性(可选)

为了提高集群的高可用性,可以配置镜像队列。

sudo rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

6. 访问管理界面

打开浏览器,输入任意节点的IP和端口(默认为15672),使用默认用户名和密码(guest/guest)登录RabbitMQ管理界面。

通过以上步骤,您可以在Debian系统上成功搭建一个RabbitMQ集群。请根据实际环境调整配置和版本号。

0
看了该问题的人还看了