一、缘由
因为资源的有限等原因,可能无法使用多个机器来搭建集群,所以需要使用在一台机器上搭建一个多实例rabbitMQ服务节点。
二、操作
1、前期准备
安装mq 服务,如果不清楚的请参考 博主的https://mp.csdn.net/postedit/81700804
mq服务搭建成功后,默认会拥有一个rabbitMQ服务节点
三、添加节点
1、开启多个节点,不同的节点添加不同的配置 端口号以及web端口号的配置
添加不同的节点
RABBITMQ_NODE_PORT=5877 RABBITMQ_SERVER_START_ARGS="-rabbitmq_management listener [{port,15877}]" RABBITMQ_NODENAME=rabbitOne rabbitmq-server -detached
查看新增节点的状态
rabbitmqctl status -n rabbitOne
2、将需要添加的节点停止
rabbitmqctl -n rabbitOne@aliyun stop_app
3、重新设置第二个节点的元数据和状态为清空状态(这一步操作要干什么)
rabbitmqctl -n rabbitOne@aliyun reset
4、添加节点到集群
rabbitmqctl -n rabbitOne@aliyun join_cluster rabbit@aliyun
启动该节点
rabbitmqctl -n rabbitOne@aliyun start_app
5、查看集群状态
rabbitmqctl cluster_status
6、从集群中获取删除指定的节点
rabbit -n rabbitOne@aliyun stop_app
重置节点数据
rabbit -n rabbitOne@aliyun reset
查看集群消息 (没有了上面的节点)
7、问题在设置rabbitMQ的服务的时候出现端口号无法设置的情况
在liunx中清除了运行中的节点 重新使用新的节点去重新安装一遍 发现可以运行成功
8、设置集群为镜像模式(普通模式下,当用户消费的时候才临时从真实消息的节点设置)
rabbitmqctl set_policy -p hrsystem ha-allqueue "^" '{"ha-mode":"all"}'