准备工作

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

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

apt-get install erlang

2. 下载RabbitMQ的安装包。

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

3. 解压安装包。

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

配置集群节点

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

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

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

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

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

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

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

启动集群

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

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

rabbitmq_server-3.8.14/sbin/rabbitmq-server -detached

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

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

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

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

4. 验证集群状态。

rabbitmqctl cluster_status

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