准备工作

在部署 RabbitMQ 集群之前,我们需要进行一些准备工作:

1. 确保每个节点都已经安装了 Erlang 环境。

apt-get install erlang
Bash

2. 下载 RabbitMQ 的安装包。

wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.14/rabbitmq-server-generic-unix-3.8.14.tar.xz
Bash

3. 解压安装包。

tar xvf rabbitmq-server-generic-unix-3.8.14.tar.xz
Bash

配置集群节点

配置集群节点需要修改 RabbitMQ 的配置文件,执行以下步骤:

1. 复制一份默认的配置文件。

cp rabbitmq_server-3.8.14/etc/rabbitmq/rabbitmq-sample.config rabbitmq_server-3.8.14/etc/rabbitmq/rabbitmq.config
Bash

2. 编辑 rabbitmq.config 文件,设置节点的名称。

vi rabbitmq_server-3.8.14/etc/rabbitmq/rabbitmq.config
Bash
[
    {rabbit, [
        {cluster_nodes, {['rabbit@node1', 'rabbit@node2', 'rabbit@node3'], disc}}
    ]}
].
Config

3. 为每个节点创建一个 Cookie 文件,并确保每个节点的 Cookie 文件内容一致。

echo "MySecretCookie" > /var/lib/rabbitmq/.erlang.cookie
Bash
chmod 400 /var/lib/rabbitmq/.erlang.cookie
Bash
chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
Bash

启动集群

在配置好集群节点后,我们可以启动 RabbitMQ 集群:

1. 在每个节点上启动 RabbitMQ 服务器。

rabbitmq_server-3.8.14/sbin/rabbitmq-server -detached
Bash

2. 在主节点上创建集群。

rabbitmqctl stop_app
Bash
rabbitmqctl join_cluster --ram rabbit@node1
Bash
rabbitmqctl start_app
Bash

3. 在其他节点上加入集群。

rabbitmqctl stop_app
Bash
rabbitmqctl join_cluster --ram rabbit@node1
Bash
rabbitmqctl start_app
Bash

4. 验证集群状态。

rabbitmqctl cluster_status
Bash

通过以上步骤,我们可以顺利部署 RabbitMQ 集群,并通过 cluster_status 命令验证集群状态。