RabbitMQ Mirror镜像集群的搭建
环境准备
准备两个已安装好RabbitMQ的Centos7环境
修改hostname
vim /etc/hostname
m1、m2
加入主机列表vim /etc/hosts
vim /etc/hosts
192.168.1.2 m1
192.168.1.3 m2
安装rabbitmq
#1. 下载esl-erlang_21.0-1~centos~7_amd64.rpm
# Erlang运行环境RPM包
#2. 下载rabbitmq-server-3.7.7-1.el7.noarch.rpm
# rabbitmq服务器程序
#3. mkdir /usr/local/temp
#4. cd /usr/local/temp
#5. 通过XFTP将文件上传至temp目录
#6. rpm -ivh --nodeps esl-erlang_21.0-1~centos~7_amd64.rpm
# 安装RPM包
#7. rpm -ivh --nodeps rabbitmq-server-3.7.7-1.el7.noarch.rpm
#8. rabbitmq-plugins enable rabbitmq_management
# 启用控制台
#9. rabbitmq-server
#10. chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
# 启用服务
# 11. 防火墙放行5672/15672端口
启动rabbitmq
rabbitmq-server
开放防火墙
#开放防火墙4369/5672/15672/25672端口
firewall-cmd --zone=public --add-port=4369/tcp --permanent
firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --zone=public --add-port=25672/tcp --permanent
firewall-cmd --reload
#重启两台主机
reboot
复制.erlang.cookie
.erlang.cookie是erlang分布式的token文件,集群内所有设备要持有相同的.erlang.cookie文件才允许彼此通信。
find /-name *.cookie
scp /var/lib/rabbitmq/.erlang.cookie 192.168.1.3:/var/lib/rabbitmq/
在两台电脑上执行chmod进行授权
chmod 400 /var/lib/rabbitmq/.erlang.cookie
配置镜像集群
在m2服务器上执行下面的命令将与m1服务器进行复制
rabbitmqctl stop_app 暂停服务
rabbitmqctl join_cluster rabbit@m1 加入到m1的集群
rabbitmqctl start_app 启动服务
rabbitmqctl cluster_status 验证集群结果