开始

在安装好的三台服务器上,分别安装了单电机的RabbitMQ,把这三个单节点,组成集群。

第一台虚拟机

编辑etc下面的hosts文件。
image.png

image.png

编辑第二台虚拟机

image.png

image.png

第三台虚拟机

image.png
image.png
ip都解析出来了
image.png
ping mq02
image.png

3台机器共享erlang cookie

它是类似密码或者令牌的东西。首先需要停掉rabbitMQ的服务。如果不停掉,erlang的cookie是被占用的。
image.png
三台机器都要停掉 RabbitMQ的服务。

传输erkang cookie。路径。这是01节点的cookie
image.png
机器2的cookie
image.png
要让三个节点的cookie变成一样的,用哪一个都行。‘
给.erlang.cookie这个文件 赋予所有的权限。长时间把文件设置为777的是很危险的。
image.png
使用scp命令传给 别的机器。 root@mq02这是机器的用户名和密码。
image.png

image.png

再次看机器2的cookie
image.png
同样覆盖 mq03的cookie
image.png
启动3台机器的cookie
image.png
启动报错。这是因为刚才 把.erlang cookie文件设置为 777的权限。
image.png
看下当前的状态
image.png

把erlang cookie的权限改回去。
image.png
再次启动服务
image.png

把rabbitMQ服务停掉,但是保留erlang虚拟机。

在保留erlang虚拟机的情况下,关闭了RabbitMQ的服务。这样就能进入互相连节点的状态了。
image.png

在机器上2上做同样的操作。先打开服务,再停掉rabbit的application
image.png

机器3执行
image.png

组成集群

在机器2上执行的。
—ram表示做为内存节点。所有的数据都不存盘。不加—ram就是磁盘节点,数据可以存盘。
image.png
提示mq01节点,有部分组件没有启动。
image.png
机器1 启动rabbitMQ
image.png
当前是在机器2执行的集群的命令
image.png
这个时候我们再把mq02 启动起来。
image.png

在机器3上执行

join了01节点。
image.png
join进来后,再启动 rabbitmq
image.png

管控台guest用户问题

在机器1上执行。
想进入管控台,但是管控台用guest用户又访问不了。

我们新建一个用户就可以了。创建用户test密码也是test
image.png
把test用户打上管理员的标签
image.png
给test用户设置权限。 .*就表示所有的权限。
image.png

用test用户去登陆
image.png
image.png
创建队列的时候,会让你选择集群的哪个节点
image.png

比如选择创建在了03节点
image.png
所有的节点都知道这个queue
image.png

但是它存了什么数据,只有03节点知道。
image.png
已经成功的搭建了RabbitMQ的集群。

我们的spirng boot 程序连接哪个都可以。但是管控台必须看节点1的ip 的。
image.png

问题

image.png

结束