Rabbitmq镜像集群的搭建
- 准备两台已经安装好rabbitmq的虚拟机
- 查看rabbitmq是否可以正常运行
rabbitmq-server
- 修改主机名用以区分虚拟机,eg:node1、node2
vim /etc/hostname # 删除文件内容,添加新的主机名即可
- 添加ip地址和主机名映射
vim /etc/hosts
- 开放防火墙端口,如果防火墙服务没有打开就不需要开放
-
复制.erlang.cookie
.erlang.cookie是erlang分布式的token文件,集群内所有设备要持有相同的.erlang.cookie文件才允许彼此通信
find / -name *.cookie # 找到cookie文件地址:/var/lib/rabbitmq/.erlang.cookie
scp /var/lib/rabbitmq/.erlang.cookie 192.168.244.130:/var/lib/rabbitmq/ # 复制cookie文件到另一台虚拟机同样路径下
- 对cookie文件进行授权
chmod 400 /var/lib/rabbitmq/.erlang.cookie # 两台虚拟机都需要执行命令授权
- 分别重启两台虚拟机
reboot # 一定要重启虚拟机,重启虚拟机之后浏览器进入rabbitmq控制台可以看到右侧cluster的值变为:rabbit@node1
- 分别启动两台虚拟机的rabbitmq服务
rabbitmq-server
-
配置镜像集群
在node2虚拟机新开终端执行命令
rabbitmqctl stop_app # 暂停rabbitmq服务
rabbitmqctl join_cluster rabbit@node1 # 将node2加入node1集群
rabbitmqctl start_app # 恢复rabbitmq服务
- 查看集群状态
rabbitmqctl cluster_status
通过浏览器访问也可以看到集群配置成功
至此rabbitmq镜像集群搭建完毕!