RabbitMQ部署

1、下载软件包

官网部署方式open in new window

GitHub下载 https://github.com/rabbitmq/rabbitmq-server/releasesopen in new window

我是centos stream 9 直接下载:

rabbitmq-server-3.13.3-1.el8.noarch.rpm

https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.13.3/rabbitmq-server-3.13.3-1.el8.noarch.rpm

因为RabbitMQ是采用 Erlang语言开发的

下载Erlang网站:

https://packagecloud.io/rabbitmq/erlangopen in new window github地址 https://github.com/rabbitmq/erlang-rpm/releasesopen in new window

我下的是erlang-26.2.5-1.el9.x86_64.rpm

2、环境安装部署

将下载文件上传到文件目录下

安装erlang

rpm -ivh erlang-26.2.5-1.el9.x86_64.rpm

安装 socat,在RabiitMQ安装过程中需要依赖socat插件,首先安装该插件

dnf install -y socat

安装rabbitmq

rpm -ivh rabbitmq-server-3.13.3-1.el8.noarch.rpm

启动rabbitmq

systemctl start rabbitmq-server

查看rabbitmq 状态

systemctl status rabbitmq-server

设置rabbitmq服务开机自启动

systemctl enable rabbitmq-server

关闭重启服务

# 关闭rabbitmq服务
systemctl stop rabbitmq-server
# 重启rabbitmq服务
systemctl restart rabbitmq-server

开启RabbitMQWeb管理界面插件

rabbitmq-plugins enable rabbitmq_management

防火墙添加15672端口配置

firewall-cmd --zone=public --add-port=15672/tcp --permanent 
firewall-cmd --zone=public --add-port=25672/tcp --permanent 
firewall-cmd --zone=public --add-port=5672/tcp --permanent 
firewall-cmd --reload

然后我们打开浏览器,访问服务器公网ip:15672

3、账号配置

添加远程账号

rabbitmqctl add_user admin admin123

设置用户角色,分配操作权限

#角色共有四种:
#administrator:可以登录控制台、查看所有信息、并对rabbitmq进行管理
#monToring:监控者;登录控制台,查看所有信息
#policymaker:策略制定者;登录控制台指定策略
#managment:普通管理员;登录控制
rabbitmqctl set_user_tags admin administrator

为用户添加资源权限(授予访问虚拟机根节点的所有权限)

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

其他指令

修改密码

rabbitmqctl change_ password 用户名 新密码

删除用户

rabbitmqctl delete_user 用户名

查看用户清单

rabbitmqctl list_users

4、集群搭建

修改各节点机器名称

hostnamectl set-hostname RabbitMQ-01

配置各个节点的hosts

vim /etc/hosts
10.1.26.60 RabbitMQ-01
10.1.26.61 RabbitMQ-02

把主服务器/var/lib/rabbitmq下的.erlang.cookie文件复制到另外节点上设备上

保持所有服务器使用同一个.erlang.cookie文件

SCP远程拷贝输入远程服务器密码,也可以手动下载上传同一位置

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

在各节点启动服务

rabbitmq-server -detached

连接集群节点

在被加入节点机器上执行

#1.关掉服务
rabbitmqctl stop_app
#2.重置
rabbitmqctl reset
#3.将二号节点加入到一号节点
rabbitmqctl join_cluster rabbit@RabbitMQ-01
#4.开启服务
rabbitmqctl start_app
#5.查看集群状态
rabbitmqctl cluster_status

集群账号设置

#只要在一台机器上执行
#1.创建账号
rabbitmqctl add_user admin admin123
#2.设置角色 
rabbitmqctl set_user_tags admin administrator
#3.设置用户权限
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
#4.登录
#注意如果登录不了注意清除页面缓存

解除集群节点

#在要解除的节点上执行
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
rabbitmqctl cluster_status
#此条在主节点(RabbitMQ-01)主节点上执行踢出RabbitMQ-02 
rabbitmqctl forget_cluster_node rabbit@RabbitMQ-02 

查看安装环境

rabbitmqctl environment
systemctl status rabbitmq-server

安装插件,支持web访问

#1.进入安装目录
cd  /usr/lib/rabbitmq
#2.执行语句
rabbitmq-plugins enable rabbitmq_web_stomp

5、其他

加入集群要防火墙关闭

#临时关闭防火墙
systemctl stop firewalld        

日志目录

cd /var/log/rabbitmq