1、安装erlang:
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo
2、下载包
wget --content-disposition https://packagecloud.io/rabbitmq/erlang/packages/el/8/erlang-21.3.8.14-1.el8.x86_64.rpm/download.rpm
3、安装erlang
rpm -ivh erlang-21.3.8.14-1.el8.x86_64.rpm
4、查看erlang安装版本
rpm -qa | grep erlang
5、安装rabbitmq
yum install rabbitmq-server-3.7.19-1.el8.noarch.rpm
### 辅助命令(使用场景:版本不对或者erlang安装无法正常使用)
1、查看erlang安装的相关列表
yum list | grep erlang
2、卸载erlang已安装的内容
yum -y remove erlang-*
寻找合适的安装包:rabbitmq/rabbitmq-server - Packages · packagecloud
如果执行脚本依赖时报404等,考虑下载安装包进行安装:
rabbitmq-plugins list
rabbitmq-plugins enable rabbitmq_management
service rabbitmq-server start
## 查看当前所有的用户
rabbitmqctl list_users
## 查看guest用户所有拥有的权限
rabbitmqctl list_user_permissions guest
## 删除原来的guest用户
rabbitmqctl delete_user guest
## 添加一个新的用户
rabbitmqctl add_user admin 123456
## 给admin设置个角色(tag)
rabbitmqctl set_user_tags admin administrator
## 给admin赋予权限
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
## 查看用户所拥有的权限
rabbitmqctl list_user_permissions admin
## 设置为开机启动
systemctl enable rabbitmq-server.service
## 启动服务
service rabbitmq-server start
## 重启服务
service rabbitmq-server restart
## 停止服务
service rabbitmq-server stop
## 查看当前状态
service rabbitmq-server status
## 查看插件列表
sudo rabbitmq-plugins list
## 启用插件
sudo rabbitmq-plugins enable plugin-name
## 禁用插件
sudo rabbitmq-plugins disable plugin-name
安装过程出现问题,重新恢复:
### 关闭进程
ps -ef | grep rabb
kill -9 1231434
ps -aux | grep epmd
kill -9 1177267
### 删除日志
cd /var/log/rabbitmq
rm -rf *
### 删除配置
cd /var/lib/rabbitmq
cd mnesia
rm -rf *
### 重新授权
systemctl restart rabbitmq-server
rabbitmqctl delete_user guest
rabbitmqctl add_user admin 123456
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
安装步骤:
### 1、3台服务器添加hosts
vim /etc/hosts
10.95.34.39 xxxsitrabbitmq39
10.95.34.38 xxxsitredis38
10.95.34.37 xxxsitnacos37
# 注意1:特别注意.erlang.cookie的ID根据主节点.erlang.cookie中ID保持一致之后,再执行如下操作。
# 注意2:以主节点.erlang.cookie中ID运行起来后,再执行如下操作。
# 配置文件位置:/var/lib/rabbitmq/.erlang.cookie
### 2、配置集群
在 xxxsitredis38机器上操作:
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@xxxsitrabbitmq39
rabbitmqctl start_app
在 xxxsitnacos37机器上操作:
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@xxxsitrabbitmq39
rabbitmqctl start_app
测试结果:
集群操作命令:
### 如果需要移除集群节点,执行下面命令:
rabbitmqctl -n rabbit@xxxsitredis38 stop_app
rabbitmqctl forget_cluster_node rabbit@xxxsitredis38(具体节点)
### 修改集群名称(任意一个节点操作,默认为master node名称)
rabbitmqctl set_cluster_name rabbitmq_cluster1
### 查看集群状态(任意一个节点操作)
rabbitmqctl cluster_status
### 设置镜像队列策略(任意一个节点操作)
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
将所有队列设置为镜像队列,即队列会被复制到各个节点,各个节点状态一致。
此时看rabbitmq管控台,Nodes会有三个节点
遇到问题1:.erlang.cookie
错误:Cookie file /var/lib/rabbitmq/.erlang.cookie must be accessible by owner only
需要执行如下操作:
chmod 600 .erlang.cookie
docker pull rabbitmq
docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:latest
docker exec -it rabbitmq /bin/bash
rabbitmq-plugins list
rabbitmq-plugins enable rabbitmq_management
用户名/密码: guest/guest
访问地址:http://192.168.163.128:15672/