- 前提:三台服务器都已经安装好了rabbitmq和erlang环境
- 第一步:分别修改三台服务器的名称为node1、node2、node3(可以自定义),修改完之后需要重启服务器。
- 第二步:修改三台机器的hosts文件,让各个节点之间都能互相识别
- 第三步:确保各个节点的cookie文件使用的是同一个值:在node1上执行远程操作命令,将node1的cookie文件复制到其他机器上面
- 第四步:修改刚刚复制过去的cookie文件的组以及添加权限
- 第五步:启动RabbitMQ服务,顺带启动Erlang虚拟机和RabbitMQ应用服务,三台节点下执行
- 第六步:在节点1机器上执行:
- 第七步:在节点2机器上执行:
- 第八步:在节点3机器上执行:
- 第九步:查看集群状态
- 第十步:需要重新设置用户:这样就可以在浏览器上面,登录三个集群节点的任意一个可视化管理界面(之前的创建的用户就作废了,所以在搭建集群的过程中,无法通过浏览器登录可视化管理界面)
- 第十一步:解除集群节点,node2和node3上分别执行
- 注意:搭建RabbitMQ集群遇到的相关问题:可以参考下文:
- 1.搭建RabbitMQ集群时,出现警告:Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces
- 2.搭建RabbitMQ集群时,出现警告:Error:mnesia_not_running
#修改当前主机名称命令: vim /etc/hostname #重启虚拟机 reboot第二步:修改三台机器的hosts文件,让各个节点之间都能互相识别
#修改本地服务器域名解析文件命令: vim /etc/hosts ----------将下列内容添加进去:注意IP地址要改为你实际的IP地址---------- 192.168.163.128 node1 192.168.163.132 node2 193.168.163.131 node3第三步:确保各个节点的cookie文件使用的是同一个值:在node1上执行远程操作命令,将node1的cookie文件复制到其他机器上面
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第四步:修改刚刚复制过去的cookie文件的组以及添加权限
#在三台服务器上面,分别执行下面这两个命令: #更改文件所有者 chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie #更改cookie文件的权限 chmod 600 /var/lib/rabbitmq/.erlang.cookie第五步:启动RabbitMQ服务,顺带启动Erlang虚拟机和RabbitMQ应用服务,三台节点下执行
rabbitmq-server -detached第六步:在节点1机器上执行:
#开启rabbitmq应用服务,这样节点2才能加入节点1集群 rabbitmqctl start_app第七步:在节点2机器上执行:
#rabbitmqctl stop会将Erlang虚拟机也关闭 #关闭rabbitmq应用服务 rabbitmqctl stop_app #重置rabbitmq应用服务 rabbitmqctl reset #将当前节点加入到某个集群节点 rabbitmqctl join_cluster rabbit@node1 #开启rabbitmq应用服务 rabbitmqctl start_app第八步:在节点3机器上执行:
#rabbitmqctl stop会将Erlang虚拟机也关闭 #关闭rabbitmq应用服务 rabbitmqctl stop_app #重置rabbitmq应用服务 rabbitmqctl reset #将当前节点加入到某个集群节点 rabbitmqctl join_cluster rabbit@node1 #开启rabbitmq应用服务 rabbitmqctl start_app第九步:查看集群状态
#查看当前集群状态: rabbitmqctl cluster_status第十步:需要重新设置用户:这样就可以在浏览器上面,登录三个集群节点的任意一个可视化管理界面(之前的创建的用户就作废了,所以在搭建集群的过程中,无法通过浏览器登录可视化管理界面)
# 创建账号 rabbitmqctl add_user admin 123 # 设置用户角色 rabbitmqctl set_user_tags admin administrator # 设置用户权限 rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"第十一步:解除集群节点,node2和node3上分别执行
#关闭rabbitmq应用服务 rabbitmqctl stop_app #重置rabbitmq应用服务 rabbitmqctl reset #开启rabbitmq应用服务 rabbitmqctl start_app #查看rabbitmq集群状态 rabbitmqctl cluster_status #忘记某个节点 (此项命令均在node1上执行) rabbitmqctl forget_cluster_node rabbit@node2注意:搭建RabbitMQ集群遇到的相关问题:可以参考下文: 1.搭建RabbitMQ集群时,出现警告:Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces
https://blog.csdn.net/u014209205/article/details/106647229
2.搭建RabbitMQ集群时,出现警告:Error:mnesia_not_runninghttps://blog.csdn.net/weixin_48033662/article/details/121971581



