rabbitmq 集群部署

187 阅读1分钟

1.分别在3台节点安装rabbitmq-server

根目录新建文件 rabbitmq

用命令 获取安装包

wget --content-disposition    "https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/8/rabbitmq-server-3.11.16-1.el8.noarch.rpm/download.rpm?distro_version_id=205"


wget --content-disposition "https://packagecloud.io/rabbitmq/erlang/packages/el/8/erlang-25.3.2-1.el8.x86_64.rpm/download.rpm?distro_version_id=205"
# 解压
rpm -Uvh erlang-25.3.2-1.el8.x86_64.rpm  # 安装
yum install -y erlang
# 解压
rpm -Uvh rabbitmq-server-3.8.14-1.el7.noarch.rpm# 安装
yum install -y rabbitmq-server

2.- 查看自己的三台主机 IP ,修改3台机器的主机名称:vim /etc/hostname

  • 192.168.0.50 node1
  • 192.168.0.51 node2
  • 192.168.0.52 node3

确保各个节点的cookie文件使用的是同一个值。在node1机器上执行远程操作命令

scp /var/lib/rabbitmq/.erlang.cookie root@node2:/var/lib/rabbitmq/.erlang.cookie

scp /var/lib/rabbitmq/.erlang.cookieroot@node3:/var/lib/rabbitmq/.erlang.cookie

image.png

重启三台节点的rabbitmq服务

重要,在创建集群之前,要保证每台节点的rabbitmq服务正常运行 systemctl restart rabbitmq-server.service systemctl status rabbitmq-server.service

以node1为主节点, 将node2,node3加入到该节点
  • 执行过程例如:node1->node2(执行join node1)->node3(执行join node2)
  • 主节点node1什么都不用管,从机node2,node3执行加入集群的代码
rabbitmqctl stop_app 
rabbitmqctl join_cluster --ram rabbit@node1
rabbitmqctl start_app
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}' # 配置镜像集群,任意一个节点执行一次即可
集群配置完成,3个节点都可查询集群状态

image.png

重新设置用户:

创建账号

rabbitmqctl add_user admin 123

设置用户角色

rabbitmqctl set_user_tags admin administrator

设置用户权限

rabbitmqctl set_permissions -p "/" admin "." "." ".*"

成功后,访问任意一台机器都可以显示如下界面:

image.png