采用两台centos7机器搭建普通模式的RabbitMQ
机器
mq01 (主机名) 192.168.100.177
mq02 (主机名) 192.168.100.200
准备工作
修改主机名
centos6
查看当前的hostname
编辑network文件修改hostname行(重启生效)
centos7
centos7新增hostnamectl工具,修改后即可并永久生效
hostnamectl set-hostname mq01
配置hosts文件
mq01的配置
mq02的配置
集群配置
端口设置
RabbitMQ
机器内部通讯的端口是4369
和25672
,如果防火墙上没有放开这两个端口,后续的join_cluster
操作会失败。使用firewall-cmd
工具分别在两台机上都打开端口。
firewall-cmd –zone=public –add-port=4369/tcp –permanent
firewall-cmd –zone=public –add-port=25672/tcp –permanent
firewall-cmd –reload
启动服务
如果RabbitMQ还没有启动,那么采用后台服务的模式启动。
rabbitmq-server -detached
同步cookie
在上述的两台机器上安装RabbitMQ
完成之后,在/var/lib/rabbitmq下有个隐藏文件.erlang.cookie,这文件存储的内容是cookie值。
RabbitMQ
的集群依赖erlang
集群,而erlang
集群是通过这个cookie进行通信认证的,因此我们做集群的第一步就是统一cookie值。
通过scp
命令把其中一台机器上的cookie文件拷贝覆盖另一台机器上的cookie文件。
组建集群
[root@mq02 ~]# rabbitmqctl stop_app
[root@mq02 ~]# rabbitmqctl join_cluster rabbit@mq01
[root@mq02 ~]# rabbitmqctl start_app
这里有篇更详细的https://www.cnblogs.com/netonline/archive/2017/10/16/7678321.html