Docker安装RabbitMQ

一、安装命令

1、单节点MQ安装

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等,考虑下载安装包进行安装:

Docker安装RabbitMQ_第1张图片

启动RabbitMQ

rabbitmq-plugins list
rabbitmq-plugins enable rabbitmq_management
service rabbitmq-server start

设置RabbitMQ用户

## 查看当前所有的用户
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

RabbitMQ常用命令

## 设置为开机启动
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

2、镜像集群安装

安装过程出现问题,重新恢复:

### 关闭进程
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

测试结果: 

Docker安装RabbitMQ_第2张图片

集群操作命令:

### 如果需要移除集群节点,执行下面命令:
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

3、Docker安装

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/

Docker安装RabbitMQ_第3张图片

你可能感兴趣的:(MQ,中间件,K8S,rabbitmq,docker,分布式)