MQ集群扩容

发布时间 2023-06-29 17:00:29作者: xycccode

集群扩容

加入集群

1)启动一个新的MQ容器:

点击查看代码
docker run -d --net mq-net \
-v ${PWD}/.erlang.cookie:/var/lib/rabbitmq/.erlang.cookie \
-e RABBITMQ_DEFAULT_USER=quccw \
-e RABBITMQ_DEFAULT_PASS=123321 \
--name mq4 \
--hostname mq5 \
-p 8074:15672 \
-p 8084:15672 \
rabbitmq:3.8-management



2)进入容器控制台:
docker exec -it mq4 bash

3)停止mq进程
rabbitmqctl stop_app

4)重置RabbitMQ中的数据:
rabbitmqctl reset

5)加入mq1:
rabbitmqctl join_cluster rabbit@mq1

6)再次启动mq进程
rabbitmqctl start_app
整个过程如下:

访问浏览器访问新加的mq

增加仲裁队列副本

我们先查看下quorum.queue这个队列目前的副本情况,进入mq1容器:
docker exec -it mq1 bash
执行命令:
rabbitmq-queues quorum_status "quorum.queue"
如下图,我们只看到mq1、mq2、mq3这几个,

现在我们将节点mq4加进来
rabbitmq-queues add_member "quorum.queue" "rabbit@mq5" (这里我们设置的主节点主机名称其实是mq5要和节点名称区分开来)

查看控制台,发现quorum.queue的镜像数量也从原来的 +2 变成了 +3:

但是要注意,cluster.quorum.queue这个是我们在java代码中加的,好像并没有变,那可能是因为java代码加的队列对控制台添加的不生效。