主备集群

下载 rpm 包

1
2
3
4
5
6
7
8
rabbitmq: https://github.com/rabbitmq/rabbitmq-server
erlang: https://github.com/rabbitmq/erlang-rpm # rabbitmq需要erlang环境运行 erlang

yum install https://github.com/rabbitmq/erlang-rpm/releases/download/v26.y2.5.13/erlang-26.2.5.13-1.el8.x86_64.rpm
rpm -ivh erlang-26.2.5.13-1.el8.x86_64.rpm

yum install https://github.com/rabbitmq/rabbitmq-server/releases/download/v4.1.1/rabbitmq-server-4.1.1-1.el8.noarch.rpm
rpm -ivh rabbitmq-server-4.1.1-1.el8.noarch.rpm

修改/etc/hosts

vi /etc/hosts

1
2
3
# 本机
添加:127.0.0.1 主机名(root@后面的名字)
127.0.0.1 iZm5e6501xb0of5um22jvhZ
1
2
3
4
5
# 两台机器都修改
10.0.100.6 iZm5e6501xb0of5um22jvhZ
10.0.100.7 iZm5e6501xb0of5um22jviZ
systemctl start rabbitmq-server
systemctl enable rabbitmq-server

Erlang Cookie 不一致:
RabbitMQ 集群节点间通过 .erlang.cookie 文件进行认证,必须确保所有节点上的 cookie 完全一致。
查看 cookie 内容:

1
cat /var/lib/rabbitmq/.erlang.cookie

如果不一致,请手动复制主节点的 cookie 到当前节点,并重启 RabbitMQ 服务。

1
2
scp -P 22222 .erlang.cookie root@iZm5e6501xb0of5um22jviZ:$PWD
systemctl restart rabbitmq-server

开启插件

1
rabbitmq-plugins enable rabbitmq_management

加入集群

1
2
3
4
5
6
7
8
9
10
11
# 如果内网有防火墙,临时关闭防火墙
systemctl stop firewalld
# 步骤1:查看状态
rabbitmqctl status
# 步骤2:停止应用并重置(如果之前尝试加入失败)
rabbitmqctl stop_app
rabbitmqctl reset
# 再次尝试加入集群
rabbitmqctl join_cluster rabbit@iZm5e6501xb0of5um22jvhZ
# 步骤3:启动应用
rabbitmqctl start_app

创建用户

1
2
3
4
5
6
# 新增用户
rabbitmqctl add_user admin aaaaaa
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
# 删除用户
rabbitmqctl delete_user guest

日志查看

1
tail -f /var/log/rabbitmq/rabbit@*.log

访问地址

http://ip:15672

查看集群情况,会有两个节点