云服务器搭建RabbitMQ集群

环境准备

腾讯云服务器

mq1当作master

  • IP:172.19.0.7
  • hostname:VM-0-7-centos

mq2

  • IP:172.19.0.11
  • hostname:VM-0-11-centos

mq3

  • IP:172.19.0.12
  • hostname:VM-0-12-centos

三台服务器的/etc/hosts文件添加映射

  • 172.19.0.7 VM-0-7-centos
  • 172.19.0.11 VM-0-11-centos
  • 172.19.0.12 VM-0-12-centos

1、搭建erlang集群

统一 erlang.cookie 文件中 cookie 值

必须使集群中也就是rabbitmq2,rabbitmq3这两台机器的.erlang.cookie 文件中 cookie 值一致,且权限为400只读。

该文件为隐藏文件,ll -a命令查看

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

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

chmod 400 /var/lib/rabbitmq/.erlang.cookie

chmod 400 /var/lib/rabbitmq/.erlang.cookie

2、重启MQ服务

停止所有rabbitmq

rabbitmqctl stop

停止需要时间,几秒钟,没有停掉的,用kill -9 杀死

确保都停止了,用ps查看

ps -ef |grep rabbit

重启作为master的mq

rabbitmq-server start &

增加&,确保可以后台继续运行

3、mq1操作

停止app

rabbitmqctl stop_app

清除历史数据,否者集群搭建报错,该命令将rabbitmq节点重置还原到最初状态,需要注意的是它还原的是所有配置信息及数据,比如你自己设置的账号和密码也会被清除

rabbitmqctl reset

启动app

rabbitmqctl start_app

4、mq2操作

rabbitmqctl stop_app

清除历史数据,否者集群搭建报错

rabbitmqctl reset

修改/etc/hosts文件,映射mq1所在服务器的hostname和ip,在mq1服务器用ipp addr和hostname查看相关信息

加入集群

注意:

  • rabbit@VM-0-7-centos中的rabbit:结点名,可以通过在mq1服务器上的rabbitmqctl status命令查看
  • VM-0-7-centos:主机名,可以通过在mq1服务器上hostname命令查看
  • –ram:集群节点类型,分布是ram|disc,默认是disc,
    ram:内存节点,所有的数据都存储在内存中。
    disc:磁盘节点,所有的数据都存储在磁盘中。

rabbitmqctl join_cluster --ram rabbit@VM-0-7-centos

启动app

rabbitmqctl start_app

5、mq3操作同上

6、验证

查看集群状态

rabbitmqctl status

rabbitmqctl cluster_status

控制台访问

由于执行了rabbitmqctl reset,需要重新设置账号密码,再登陆
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42875600/article/details/130248771