开始
在安装好的三台服务器上,分别安装了单电机的RabbitMQ,把这三个单节点,组成集群。
第一台虚拟机
编辑etc下面的hosts文件。
编辑第二台虚拟机
第三台虚拟机
ip都解析出来了
ping mq02
3台机器共享erlang cookie
它是类似密码或者令牌的东西。首先需要停掉rabbitMQ的服务。如果不停掉,erlang的cookie是被占用的。
三台机器都要停掉 RabbitMQ的服务。
传输erkang cookie。路径。这是01节点的cookie
机器2的cookie
要让三个节点的cookie变成一样的,用哪一个都行。‘
给.erlang.cookie这个文件 赋予所有的权限。长时间把文件设置为777的是很危险的。
使用scp命令传给 别的机器。 root@mq02这是机器的用户名和密码。
再次看机器2的cookie
同样覆盖 mq03的cookie
启动3台机器的cookie
启动报错。这是因为刚才 把.erlang cookie文件设置为 777的权限。
看下当前的状态
把rabbitMQ服务停掉,但是保留erlang虚拟机。
在保留erlang虚拟机的情况下,关闭了RabbitMQ的服务。这样就能进入互相连节点的状态了。
在机器上2上做同样的操作。先打开服务,再停掉rabbit的application
机器3执行
组成集群
在机器2上执行的。
—ram表示做为内存节点。所有的数据都不存盘。不加—ram就是磁盘节点,数据可以存盘。
提示mq01节点,有部分组件没有启动。
机器1 启动rabbitMQ
当前是在机器2执行的集群的命令
这个时候我们再把mq02 启动起来。
在机器3上执行
join了01节点。
join进来后,再启动 rabbitmq
管控台guest用户问题
在机器1上执行。
想进入管控台,但是管控台用guest用户又访问不了。
我们新建一个用户就可以了。创建用户test密码也是test
把test用户打上管理员的标签
给test用户设置权限。 .*就表示所有的权限。
用test用户去登陆
创建队列的时候,会让你选择集群的哪个节点
比如选择创建在了03节点
所有的节点都知道这个queue
但是它存了什么数据,只有03节点知道。
已经成功的搭建了RabbitMQ的集群。
我们的spirng boot 程序连接哪个都可以。但是管控台必须看节点1的ip 的。