RabbitMQ镜像高可用搭建
高可用搭建的前提是erlang以及rabbitmq都安装完毕可以正常使用,测试方法是打开各自服务器的浏览器输入http://本机IP:15672 即表示没问题
1.安装完成的单台rabbitmq服务情况
两台windows主机rabbitmq相关内容:
a:192.168.0.36 rabbitmq节点名称:rabbit@Rac36
b: 192.168.0.158 rabbitmq节点名称:rabbit@WIN-2PG96LFU0NJ
节点名称如何查看?
在rabbitmq安装目录 sbin 下执行 rabbitmqctl status,出现如下界面:rabbit@Rac36为当前主机rabbitmq的节点名称。
2.配置文件(两台主机都需要配置,内容都如下)
A.)
1.[{rabbit,[{cluster_nodes, ['rabbit@Rac36', 'rabbit@WIN-2PG96LFU0NJ']}]}].
B.)hosts文件设置,在路径C:\Windows\System32\drivers\etc 中修改hosts文件。
C.)配置环境变量文件(两台主机都需要配置,内容都如下)
NODENAME=rabbit的名称
NODE_IP_ADDRESS=各自的IP地址
NODE_PORT=5672
RABBITMQ_MNESIA_BASE=C:\Users\Administrator\AppData\Roaming\RabbitMQ\db
RABBITMQ_LOG_BASE=C:\Users\Administrator\AppData\Roaming\RabbitMQ\log
3…erlang.cookie文件统一(此文件用户集群之间通信秘钥,必须一致)
将192.168.0.36中C:\Users\Administrator中的.erlang.cookie 的文件替换掉192.168.0.158 中 C:\Users\Administrator
和C:\Windows\System32\config\systemprofile 目录中的 .erlang.cookie
4.重启服务
1.a).从服务器192.168.0.158
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
1.b).主服务器192.168.0.36
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@WIN-2PG96LFU0NJ
rabbitmqctl start_app
然后在192.168.0.36主服务器上运行此批处理
访问 rabbitmq管理后台,出现如下界面则表示成功:
5.镜像配置
此配置的作用,为了同步消息,如给A节点发送一条消息,则自动同步到B节点。配置如下:
^^^^^^^^^^^^^^^^^^^^(这个是符号)
exactly
automatic