RabbitMQ集群搭建

发布时间 2023-03-24 17:22:18作者: 冲冲不会啊

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 机器上执行)