1.将上一部分的搭建的rabbitmq环境的虚拟机克隆三份(详细可以参考https://www.cnblogs.com/chongchongstyle/p/17234277.html)
2.修改克隆的机器ip为134、135、136
修改ip可参考
https://www.cnblogs.com/chongchongstyle/p/17126101.html
3.修改三台机器的主机名称
vim /etc/hostname
4. 配置各个节点的 hosts 文件,让各个节点都能互相识别对方
vim /etc/hosts
192.168.95.134 node1
192.168.95.135 node2
192.168.95.136 node3
5. 以确保各个节点的 cookie 文件使用的是同一个值
在 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
6. 启动 RabbitMQ 服务,顺带启动 Erlang 虚拟机和 RbbitMQ 应用服务(在三台节点上分别执行以 下命令)
rabbitmq-server -detached
7. 在节点 2 执行
rabbitmqctl stop_app
(rabbitmqctl stop 会将 Erlang 虚拟机关闭,rabbitmqctl stop_app 只关闭 RabbitMQ 服务)
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@node1
rabbitmqctl start_app(只启动应用服务)
注:如果出现下图错误,查看下虚拟机的防火墙是否关闭,如果没有关闭,关闭防火墙之后再次执行7操作就可以了
8.在节点 3 执行
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@node2
rabbitmqctl start_app
9.集群状态
rabbitmqctl cluster_status
10.需要重新设置用户
创建账号
rabbitmqctl add_user admin 123
设置用户角色
rabbitmqctl set_user_tags admin administrator
设置用户权限
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
11.解除集群节点(node2 和 node3 机器分别执行)(如果需要解除集群可以参考下列命令)
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
rabbitmqctl cluster_status
rabbitmqctl forget_cluster_node rabbit@node2(node1 机器上执行)