可以使用克隆方式:https://blog.csdn.net/qq_43987149/article/details/121921302
2、 服务器安装好RabbitMQ(包含erlang)安装参考链接:https://blog.csdn.net/qq_43987149/article/details/121781133
二、 开始搭建 1、 修改主机名每一台主机都修改,使用以下命令打开hostname文件,修改主机名
vim /etc/hostname #分别修改为 node1、node2、node3 #修改完要重启系统,才能生效 #使用hostname查看主机名 hostname2、 配置各个主机的hosts文件,让各个节点都能互相识别对方
vim /etc/hosts
每一个中添加如下内容:前面的是每一台主机IP ,后面的是每一台主机名
这里特别要注意,IP记得改为主机名对应的,我之前就是这里忘记修改,导致第5、6、步一直不能使用rabbitmqctl命令,一直报错
192.168.78.128 node1
192.168.78.129 node2
192.168.78.130 node3
在node1主机上执行远程操作命令
scp /var/lib/rabbitmq/.erlang.cookie root@node2:/var/lib/rabbitmq/.erlang.cookie scp /var/lib/rabbitmq/.erlang.cookie root@node3:/var/lib/rabbitmq/.erlang.cookie
示例:完整的执行命令如下:过程中需要输入yes和'密码'
[root@node1 wen]# scp /var/lib/rabbitmq/.erlang.cookie root@node3:/var/lib/rabbitmq/.erlang.cookie The authenticity of host 'node3 (192.168.78.128)' can't be established. ECDSA key fingerprint is SHA256:7wi4IUUjPySm1XM44yU7xIU1fsnQiHLIfDITKd+XS/w. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added 'node3' (ECDSA) to the list of known hosts. root@node3's password: .erlang.cookie 100% 20 37.2KB/s 00:00 [root@node1 wen]#4、 启动RabbitMQ服务,顺带启动Erlang虚拟机和RbbitMQ应用服务(在三台节点上分别执行以下命令)
rabbitmq-server -detached5.0 没有报错可跳过这一步执行第5、6、两步可能报错
5.0.1 解决办法:这个是需要把前一个也就是node1的对应的25672,4369端口号开放,或者直接关闭防火墙
unable to connect to epmd (port 4369) on node3: address (cannot connect to host/port) suggestion: check if host 'node2' resolves, is reachable and ports 25672, 4369 are not blocked by firewall
5.0.2 这里是一执行 rabbitmqctl [其他命令] 相关的命令就报错
解决办法是查看 hosts文件的IP和主机名是否对应修改成功 vim /etc/hosts
https://blog.csdn.net/qq_43987149/article/details/121937973
Error: unable to perform an operation on node 'rabbit@node2'. Please see diagnostics information and suggestions below. TCP connection succeeded but Erlang distribution failed5、 在主机2执行
rabbitmqctl stop_app #(rabbitmactl stop会将Erlang虚拟机关闭,rabbitmactl stop_app只关闭RabbitMQ服务) rabbitmqctl reset rabbitmqctl join_cluster rabbit@node1 rabbitmqctl start_app(只启动应用服务)6、 在主机3执行
rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl join_cluster rabbit@node2 rabbitmqctl start_app7、 查看集群状态
rabbitmqctl cluster_status8、 为集群设置用户(在任意一台主机上操作)
#查看用户 rabbitmqctl list_users #添加用户和密码 rabbitmqctl add_user admin 1234 #设置用户角色为管理员 rabbitmqctl set_user_tags admin administrator #添加用户权限: 用户user_admin具有/vhost1这个virtual host中所有资源的配置、写、读权限 # set_permissions [-p9、 外部登录任意主机IP检查是否成功(这里注意15672端口号要开放)] rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
http://192.168.78.130:15672/10、 解除集群节点
node2或node3执行
rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl start_app rabbitmqctl cluster_status
node1上执行(如果是解除node3,下面的node2改成node3)
rabbitmqctl forget_cluster_node rabbit@node2其他 参考视频:https://www.bilibili.com/video/BV1cb4y1o7zz?p=84



