当前位置: 代码网 > it编程>编程语言>Asp.net > RabbitMQ 集群部署方法

RabbitMQ 集群部署方法

2026年04月22日 Asp.net 我要评论
rabbitmq环境准备:三台服务器,系统是 centos7ip地址分别是:rabbitmq1:192.168.152.71rabbitmq2:192.168.152.72rabbitmq3:192.

rabbitmq

  • 环境准备:三台服务器,系统是 centos7
  • ip地址分别是:
    • rabbitmq1:192.168.152.71
    • rabbitmq2:192.168.152.72
    • rabbitmq3:192.168.152.73

一、安装 rabbitmq

记得配置yum源,避免不必要的错误

在三台服务器上分别安装 erlang 和 rabbitmq-server

安装 rabbitmq 运行环境

yum install -y erlang

安装软件 rabbitmq

yum install -y rabbitmq-server

二、更改配置文件

一下配置在三台服务器上都要修改

更改 rabbitmq 配置文件

vim /etc/rabbitmq/rabbitmq.config

找到 %%{loopback_users, []}, 改为下面内容,大概在 53 行

{loopback_users, []}

更改 hosts 配置主机名解析

192.168.152.71 rabbitmq1
192.168.152.72 rabbitmq2
192.168.152.73 rabbitmq3

可以 ping 一下看是否配置成功

三、配置集群

改主机名,对照 hosts 配置的主机名解析,把对用服务器的主机名改为相应的解析
如:192.168.152.71

hostnamectl set-hostname rabbitmq1

192.168.152.72

hostnamectl set-hostname rabbitmq2

192.168.152.73

hostnamectl set-hostname rabbitmq3

然后全部都 exit 重新登录

启动三台服务器的 rabbitmq 服务

systemctl start rabbitmq-server
systemctl enable rabbitmq-server

统一三台服务器的 erlang.cookie,把 rabbitmq1 的 erlang.cookie 传输到其它两台

scp /var/lib/rabbitmq/.erlang.cookie rabbitmq2:/var/lib/rabbitmq/.erlang.cookie
scp /var/lib/rabbitmq/.erlang.cookie rabbitmq3:/var/lib/rabbitmq/.erlang.cookie

运行 cat /var/lib/rabbitmq/.erlang.cookie,查看三台服务器的值是否一致,一致后再重启 rabbitmq2 和 rabbitmq3 的 rabbitmq 服务

systemctl restart rabbitmq-server

查看 rabbitmq 的节点状态

rabbitmqctl cluster_status

结果如下即为正确

# rabbitmq1 的结果:
cluster status of node rabbit@rabbitmq1 ...
[{nodes,[{disc,[rabbit@rabbitmq1]}]},
 {running_nodes,[rabbit@rabbitmq1]},
 {cluster_name,<<"rabbit@rabbitmq1">>},
 {partitions,[]}]
...done.
# rabbitmq2 的结果:
cluster status of node rabbit@rabbitmq2 ...
[{nodes,[{disc,[rabbit@rabbitmq2]}]},
 {running_nodes,[rabbit@rabbitmq2]},
 {cluster_name,<<"rabbit@rabbitmq2">>},
 {partitions,[]}]
...done.
# rabbitmq3 的结果:
cluster status of node rabbit@rabbitmq3 ...
[{nodes,[{disc,[rabbit@rabbitmq3]}]},
 {running_nodes,[rabbit@rabbitmq3]},
 {cluster_name,<<"rabbit@rabbitmq3">>},
 {partitions,[]}]
...done.

停止 rabbitmq2 和 rabbitmq3 主机的 rabbitmq 应用

rabbitmqctl stop_app

让 rabbitmq2 和 rabbitmq3 加入 rabbitmq1 的集群

rabbitmqctl join_cluster rabbit@rabbitmq1

启动 rabbitmq2 和 rabbitmq3 主机的 rabbitmq 应用,并再次查看 rabbitmq 的节点状态

rabbitmqctl start_app

再三台服务器上执行 rabbitmqctl cluster_status 命令,结果就会变为下面这样

# rabbitmq1 的结果:
cluster status of node rabbit@rabbitmq1 ...
[{nodes,[{disc,[rabbit@rabbitmq1,rabbit@rabbitmq2,rabbit@rabbitmq3]}]},
 {running_nodes,[rabbit@rabbitmq2,rabbit@rabbitmq3,rabbit@rabbitmq1]},
 {cluster_name,<<"rabbit@rabbitmq1">>},
 {partitions,[]}]
...done.
# rabbitmq2 的结果:
cluster status of node rabbit@rabbitmq2 ...
[{nodes,[{disc,[rabbit@rabbitmq1,rabbit@rabbitmq2,rabbit@rabbitmq3]}]},
 {running_nodes,[rabbit@rabbitmq1,rabbit@rabbitmq3,rabbit@rabbitmq2]},
 {cluster_name,<<"rabbit@rabbitmq1">>},
 {partitions,[]}]
...done.
# rabbitmq3 的结果:
cluster status of node rabbit@rabbitmq3 ...
[{nodes,[{disc,[rabbit@rabbitmq1,rabbit@rabbitmq2,rabbit@rabbitmq3]}]},
 {running_nodes,[rabbit@rabbitmq2,rabbit@rabbitmq1,rabbit@rabbitmq3]},
 {cluster_name,<<"rabbit@rabbitmq1">>},
 {partitions,[]}]
...done.

此时集群配置成功

四、测试

可以可以启用 rabbitmq 可视化web管理插件,更直观的看到集群状态,也方便测试
三台服务器都要开启

rabbitmq-plugins enable rabbitmq_management
systemctl restart rabbitmq-server

通过ip地址加端口号访问,端口号为 15672
如:192.168.152.71:15672,默认的用户名:guest,密码:guest

可以再其中一台添加用户,看其它几台是否有变化,有则配置成功

到此这篇关于rabbitmq 集群部署方法的文章就介绍到这了,更多相关rabbitmq 集群部署内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com