RabbitMQ集群部署(镜像集群)

接着上一篇单机部署的继续进行集群部署。

部署准备

  1. 3台CentOS 7的虚拟机,主机名分别设置为node-1、node-2、node-3
  2. HOSTS文件都配置3个的主机名IP映射
  3. 按照单机部署的方式,每台机器上都进行RabbitMQ的单机部署

普通集群部署

暂定node-1为主节点,node-2,node-3为从节点进行集群部署

  1. 由于RabbitMQ是依附于erlang进行通信,想要通信必须有相同的.erlang.cookie文件
    查找该文件的路径
find / -name *.cookie

将node2,node3下的文件进行重命名,然后利用命令,将node-1下的文件copy到另外的两个节点。

scp /var/lib/rabbitmq/.erlang.cookie 192.168.8.117:/var/lib/rabbitmq/

将三台机器的cookie文件进行权限的赋权

chmod 400 /var/lib/rabbitmq/.erlang.cookie
  1. 重启服务
    重新启动mq,这里需要注意,如果重新启动失败,可以kill掉所有和RabbitMQ相关的进程,然后在通过start命令进行启动
service rabbitmq-server restart
  1. 从节点设置
rabbitmqctl stop_app
rabbitmqctl reset
## --ram 指定内存节点类型,--disc指定磁盘节点类型
rabbitmqctl join_cluster --ram rabbit@node-2
rabbitmqctl start_app
  1. 查看状态
    任意节点进行状态的查看
rabbitmqctl cluster_status
  1. 界面查看


镜像集群开启

  1. 在主节点下创建一个vhost:my-vhost



    可以看到exchange的界面


  2. 主节点下设置策略
rabbitmqctl set_policy -p my-vhost ha "^" '{"ha-mode":"all","ha-sync-mode":"automatic"}'

3.查看界面效果


  1. 新增queue
    在任意的节点新增queue



    其他节点查看


节点的移除

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app

你可能感兴趣的:(RabbitMQ集群部署(镜像集群))