1.安装rabbitmq
yum install rabbitmq-server
2. 两台安装好后,先停止服务
service rabbitmq-server stop
3. 同步cookie
scp /var/lib/rabbitmq/.erlang.cookie root@192.168.203.25:/var/lib/rabbitmq/.erlang.cookie
然后两台机器均重启rabbitmq服务:
service rabbitmq-server start
备注:如果不同scp覆盖,注意两台机器的.erlang.cookie权限和所属用户、用户组须保持一致
4. 在第二个节点将rabbitmq加入集群
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@controller1
rabbitmqctl start_app
两台机器上均可以查看集群状态
rabbitmqctl cluster_status
Cluster status of node rabbit ...
[{nodes,[{disc,[rabbit ,rabbit ]}]},
{running_nodes,[rabbit ,rabbit ]},
{partitions,[]}]
...done.
5. 修改节点类型(集群中至少有一个节点为disc模式)
rabbitmqctl stop_app
rabbitmqctl change_cluster_node_type ram
rabbitmqctl start_app
6. 镜像队列配置
设置以字母开始的队列都被镜像到集群中的所有节点上
rabbitmqctl set_policy ha-all "^"'{"ha-mode":"all"}'
备注:其实在两个节点做好集群,还没有做mirrored queue镜像队列时,在slave节点上用命令“rabbitmqctl list_queues”查看集群队列,其实查看到的是master节点上queue,假如停止master上的rabbitmq-server服务,在slave节点上就查看不到了。
做mirroredqueue队列的作用就在于:定义policy策略,让slave能够把master上queue同步到slave本地,当master服务down了slave能够替代master提供服务。
具体信息可参考:https://blog.sina.com.cn/s/blog_959491260101m6ql.html
7. 增加配置
在两台安装rabbitmq的节点上添加配置:
vim /etc/rabbitmq/rabbitmq.config
[ ]}]}].
8. 安装rabbitmq监控
rabbitmq-plugins enable rabbitmq_management
web访问链接:https://192.168.205.9:15672
9. 然后分别重启两台rabbitmq-server服务
service rabbitmq-server restart